XML语法基本使用

用C#写界面还是要用到XML语法,还是学一下吧。
XML语法
1.元素必须有关闭标签,如:

<p>This is a paragraph</p> 合法
<p>This is a paragraph 非法

2.XML 标签对大小写敏感,如:

<Message>这是错误的。</message>

<message>这是正确的。</message> 

3.XML 必须正确地嵌套,如:

<b><i>这是错误的。</b></i>
<b><i>这正确误的。</i></b>

4.XML 文档必须有根元素,XML 文档必须有一个元素是所有其他元素的父元素。该元素称为根元素。如:

<root>
  <child>
    <subchild>.....</subchild>
  </child>
</root>

root为根元素。

5.XML 的属性值须加引号,如:

<note date=08/08/2008>错误做法
<note date="08/08/2008">正确做法
<to>George</to>
<from>John</from>
</note> 

6.在 XML 中,一些字符拥有特殊的意义。请使用实体引用代替,如:

&lt; < 小于
&gt; > 大于
&amp; & 和号
&apos; 单引号
&quot; 双引号

注释:在 XML 中,只有字符 “<” 和 “&” 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

7.XML 中的注释:

<!-- This is a comment --> 

8.在 XML 中,空格会被保留,文档中的空格不会被删节。

9.XML 以 LF 存储换行。

XML 元素
1.XML 元素指的是从(且包括)开始标签直到(且包括)结束标签的部分。
元素可包含其他元素、文本或者两者的混合物。元素也可以拥有属性。
首先看如下代码:

<bookstore>
<book category="CHILDREN">
  <title>Harry Potter</title> 
  <author>J K. Rowling</author> 
  <year>2005</year> 
  <price>29.99</price> 
</book>
<book category="WEB">
  <title>Learning XML</title> 
  <author>Erik T. Ray</author> 
  <year>2003</year> 
  <price>39.95</price> 
</book>
</bookstore> 

在上例中,<bookstore><book> 都拥有元素内容,因为它们包含了其他元素。<author> 只有文本内容,因为它仅包含文本。只有 <book> 元素拥有属性 (category="CHILDREN")

2.XML元素命名规则
<1>名称可以含字母、数字以及其他的字符
<2>名称不能以数字或者标点符号开始
<3>名称不能以字符 “xml”(或者 XML、Xml)开始
<4>名称不能包含空格
<5>避免 “-” 字符。如果您按照这样的方式进行命名:“first-name”,一些软件会认为你需要提取第一个单词。
<6>避免 “.” 字符。如果您按照这样的方式进行命名:“first.name”,一些软件会认为 “name” 是对象 “first” 的属性。
<7>避免 “:” 字符。冒号会被转换为命名空间来使用(稍后介绍)。

3.XML 元素是可扩展,以携带更多的信息。
就是可以经常在不中断应用程序的情况进行扩展。如:

<note>
<to>George</to>
<from>John</from>
<body>Don't forget the meeting!</body>
</note> 

扩展为:

<note>
<date>2008-08-08</date>
<to>George</to>
<from>John</from>
<heading>Reminder</heading>
<body>Don't forget the meeting!</body>
</note>

XML CDATA
所有 XML 文档中的文本均会被解析器解析。只有 CDATA 区段(CDATA section)中的文本会被解析器忽略。
1.PCDATA
PCDATA 指的是被解析的字符数据(Parsed Character Data)。
XML 解析器通常会解析 XML 文档中所有的文本。
当某个 XML 元素被解析时,其标签之间的文本也会被解析:

<message>此文本也会被解析</message>

解析器之所以这么做是因为 XML 元素可包含其他元素,就像这个例子中,其中的 <name> 元素包含着另外的两个元素(first 和 last):

<name><first>Bill</first><last>Gates</last></name>

而解析器会把它分解为像这样的子元素:

<name>
   <first>Bill</first>
   <last>Gates</last>
</name>

2.CDATA
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,"<" 和 “&” 是非法的。
“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。
“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 “<![CDATA[" 开始,由 "]]>” 结束:

<script>
<![CDATA[
function matchwo(a,b)
{
if (a < b && a < 0) then
  {
  return 1;
  }
else
  {
  return 0;
  }
}
]]>
</script>

在上面的例子中,解析器会忽略 CDATA 部分中的所有内容。
CDATA 部分不能包含字符串 “]]>”。也不允许嵌套的 CDATA 部分。标记 CDATA 部分结尾的 “]]>” 不能包含空格或折行。

猜你喜欢

转载自blog.csdn.net/li3781695/article/details/85783270