XML 文档结构

XML 是树形结构

有根节点、分支节点、叶子节点。

  • 根节点:最顶层,整个文档只能有一个根元素
  • 子节点(子元素):根里面嵌套的标签
  • 叶子节点:不再包含子元素,只有文本内容的节点

XML 声明(文档第一行)

xml

<?xml version="1.0" encoding="ISO-8859-1"?>
Code language: HTML, XML (xml)
  • <?xml ?>:XML 声明,必须写在文档最开头,前面不能有任何内容
  • version="1.0":XML 版本号,几乎都是 1.0
  • encoding="ISO‑8859‑1":字符编码;如果是中文一般写 encoding="UTF‑8"

声明不是 XML 元素,没有结束标签。

示例完整文档

<?xml version="1.0" encoding="ISO-8859-1"?>
<note>
    <to>李工</to>
    <from>王经理</from>
    <heading>重要通知</heading>
    <body>下午三点大会议室开会,准时参加!</body>
</note>
Code language: HTML, XML (xml)

结构拆解:

  1. 第一行:XML 声明
  2. <note>根元素(根节点),整个文档唯一根
  3. <to><from><heading><body>:note 的子元素(叶子节点,内部只有文本)
  4. </note>:根元素闭合标签

通用树模板

<root>
  <child>
    <subchild>.....</subchild>
    <subchild>.....</subchild>
  </child>
  <child>
    <subchild>.....</subchild>
  </child>
</root>
Code language: HTML, XML (xml)
  • root:根节点
  • child:root 的子节点
  • subchild:child 的子节点(叶子)

书架案例(带属性)

xml

<bookstore>
    <book category="COOKING">
          <title lang="en">Everyday Italian</title> 
          <author>Giada De Laurentiis</author> 
          <year>2005</year> 
          <price>30.00</price> 
    </book>
    <book category="CHILDREN">
          <title lang="en">Harry Potter</title> 
          <author>J K. Rowling</author> 
          <year>2005</year> 
          <price>29.99</price> 
    </book>
    <book category="WEB">
          <title lang="en">Learning XML</title> 
          <author>Erik T. Ray</author> 
          <year>2003</year> 
          <price>39.95</price> 
    </book>
</bookstore>
Code language: HTML, XML (xml)

结构分析:

  1. <bookstore>根节点,整个文档只能有一个根
  2. 3 个 <book>:bookstore 的直接子节点
  3. category="COOKING":是<book>属性
  4. <title lang="en">lang="en" 是 title 的属性;title、author、year、price 是 book 的子叶子节点,存放书籍数据。

总结

  1. XML 文档整体是树形结构:根 → 子节点 → 叶子节点。
  2. XML 声明 <?xml version="1.0" encoding="UTF‑8"?>,放在文档第一行,不是元素。
  3. 整个 XML 文档有且只能有一个根元素
  4. 元素可以嵌套;属性写在开始标签内,属性名="值"
  5. 叶子节点:内部只有文本,不再嵌套子标签。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注