最近接触到了XML解析的相关内容,所以对其进行了相关的了解和学习,本篇文章就是对XML数据格式进行简单介绍。  
  
我们先来看一组XML数据。  
  

<?xml version="1.0" encoding="UTF-8"?>
 <!-- 根元素 -->
 <persons>
     <person>
         <name nn="li">李明</name>
         <age>19</age>
         <sex>女</sex>
     </person>
     <person>
         <name nn="wang">王华</name>
         <age>21</age>
         <sex>男</sex>
     </person>
     <person>
         <name nn="zhang">张三</name>
         <age>21</age>
         <sex>男</sex>
     </person>
 </persons>

  在这组数据中我们,头部的version代表XML的版本号,这个文档的版本号为1.0(貌似XML从出现开始就一直是这个版本),encoding表示所用的编码,这里采用的是UTF-8。在头部的下方为数据部分。   
 
  XML数据相对于其他语言来说,我们可以灵活的定义标签,并且标签是成对出现的,如果对应数据库的话,我们可以理解为每对标签随代表的是一行数据,而标签内容的子标签则是这行数据的每一列。当然,层次多的话这个形容就有点牵强了,但不影响理解是吧。   
  
   我们往往成最外层的标签为根,也就是ROOT,然后往内层去就是根的节点。在这个XML数据中,我们的根是persons,由命名可以看出,其保存的是人员的相关信息,这里persons可以理解为数据库里的一张表。而persons标签内的三组person标签所代表的则为persons表内的三行数据,每行数据内包含名称,年龄,性别等信息。    

  其实XML数据理解了也就是这样,通过层层标签的嵌套来保存数据,就好像java中定义的类的不断嵌套一样。按照如此理解,不妨我们来写一个XML数据文件。  
  
  我们在文件中保存两本书的信息,首先我们先建立根节点ROOT  
  
 

<BOOKS>
 ...
</BOOKS>
  

    

  然后在根节点中添加书籍,因为书籍是图书集合的个体,因此,book为books的子节点。
 

<BOOKS>
  <book>
  </book>
  <book>
  </book>
</BOOKS>

  
  现在我们为每本书添加详细信息,如书名,作者等信息。因为这些信息是书籍的特征属性,因此应该作为book的子节点。  

<BOOKS>
    <book>
      <name>追风筝的人</name>
      <author>卡勒德·胡塞尼</author>
    </book>
    <book>
      <name>空山</name>
      <author>阿来</author>
    </book>
  </BOOKS>



  
  这样我们的信息就保存好了,那么如果有附加信息呢,比如别称?比如,卡勒德·胡塞尼的别称为胡塞尼,我们怎么保存呢?看下面的代码:  
  

<BOOKS>
    <book>
      <name>追风筝的人</name>
     <author nn="胡塞尼">卡勒德·胡塞尼</author>
    </book>
    <book>
     <name>空山</name>
      <author>阿来</author>
    </book>
  </BOOKS>



  
  对的,就是这样,我们在对应的标签内添加新的标记,来保存并列的属性,我这里用的是nn,当然你可以随意设置。