XML学习

Posted glodears

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了XML学习相关的知识,希望对你有一定的参考价值。

一个XML文件分为如下几部分内容:

  • 文档声明 
  • 元素
  • 属性
  • 注释  
  • CDATA区 、特殊字符 
  • 处理指令(processing instruction) 

语法:

一、文档声明

在编写XML文档时,需要先使用文档声明,声明XML文档的类型。

最简单的声明语法: <?xml version="1.0" ?>

encoding属性说明文档的字符编码:<?xml version="1.0" encoding="GB2312" ?>

二、元素

XML元素指XML文件中出现的标签,一个标签分为开始标签和结束标签,一个标签有如下几种书写形式,例如:

  • 包含标签体:<a>www.cnblogs.com/</a>
  • 不含标签体的:<a></a>, 简写为:<a/>

一个元素可以包含:

  • 其他元素
  • 文本
  • 属性

XML 元素必须遵循以下命名规则:

  • 名称可以包含字母、数字以及其他的字符
  • 名称不能以数字或者标点符号开始
  • 名称不能以字母 xml(或者 XML、Xml 等等)开始
  • 名称不能包含空格

三、属性

属性(Attribute)提供有关元素的额外信息。属性值必须被引号包围,不过单引号和双引号均可使用。

在 XML 中,您应该尽量避免使用属性。如果信息感觉起来很像数据,那么请使用元素吧。

第一个实例中使用了 date 属性:

<note date="10/01/2008">
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don‘t forget me this weekend!</body>
</note>
第二个实例中使用了 date 元素:

<note>
<date>10/01/2008</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don‘t forget me this weekend!</body>
</note>
第三个实例中使用了扩展的 date 元素(这是我的最爱):

<note>
<date>
<day>10</day>
<month>01</month>
<year>2008</year>
</date>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don‘t forget me this weekend!</body>
</note>

 

四、注释

Xml文件中的注释采用: <!--注释--> 格式。

 

五、CDATA区

  在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理,遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出

语法:<![CDATA[ 内容 ]]>

<?xml version="1.0" encoding="utf-8"?>
<soft>
<![CDATA[
    <a className="gacl.xdp">
        <a1>gacl</a1>
        <a2>xdp</a2>
    </a>
]]>
    <b>
        <b1>孤傲苍狼</b1>
        <b2>徐达沛</b2>
    </b>
</soft>

 

六、处理指令

处理指令,简称PI (processing instruction)。处理指令用来指挥解析引擎如何解析XML文档内容

例如,在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用css文件显示xml文档内容,标签名为中文时,css不起作用。

  <?xml-stylesheet type="text/css" href="css文件名.css"?>

<?xml version="1.0" encoding="utf-8"?>
<!--在XML文档中可以使用xml-stylesheet指令,通知XML解析引擎,应用country.css文件显示xml文档内容-->
<?xml-stylesheet type="text/css" href="country.css"?>
<Country>
    <c1>中国</c1>
    <c2>美国</c2>
    <c3>日本</c3>
    <c4>韩国</c4>
</Country>

 

 

XML解析器

所有现代浏览器都有内建的 XML 解析器。

XML 解析器把 XML 文档转换为 XML DOM 对象 - 可通过 javascript 操作的对象。

 

以上是关于XML学习的主要内容,如果未能解决你的问题,请参考以下文章

需要示例代码片段帮助

从 XML 声明片段获取 XML 编码:部分内容解析不支持 XmlDeclaration

xml 中的 Android 谷歌地图片段。我得到“意外的命名空间前缀”

创建片段而不从 java 代码实例化它

如何组合绑定片段而不将它们包装在 XML 文字中

我们可以在活动 xml 中编写 UI 以及在片段 xm 中编写 UI 吗?