xml解析
解析xml是指将通过xml文档访问数据或修改数据的一个操作或方法。
两种解析器:
1.像文档对象模型(DOM)解析器这的树型解析器,它将读入的xml文档转换称树结构
2.像xml简单APL(SAX)解析器这样的流机制解析器,它读入xml文档时生成相应的事件。
xml解析器:
DOM4J解析器 - Java库来解析xml、XPath和使用Java集合框架XSLT,为DOM,SAX,和JAXP的支持。
DOM4J使用时注意事项:
    1、需要知道很多关于文档的结构;
    2、需要将文档的部分围绕(如:可能需要某些元素进行排序);
    3、需要使用的文件中的信息超过一次;
    4、Java开发人员,希望利用xml的Java的优化解析;
当解析一个DOM4J解析xml文档。可以灵活的得到树形结构,其中包含所有文档的元素,而不影响应用程序的内存占用。
优势:DOM4J使Java开发的灵活性和XML解析代码易于维护。是轻量级的,快速的API。
DOM4J常见的类
Document  
表示整个XML文档。文档Document对象通常被称为DOM树。
Element   
表示一个XML元素。对象有方法来操作其子元素,它的文本、属性和名称空间。
Attribute   
表示元素属性。属性有方法来获取和设置属性的值。它有父节点和属性类。
Node     
代表元素、属性或处理指令

使用dom4j解析xml的大致步骤
1.创建SAXReader
2.使用SAXReader读取xml文档并且生成Document对象。
这一步也是dom解析耗资源的地方,因为首先要先将文档所有数据读取完毕,并且以一个Document对象
的形式保存在内存当中
3.通过Document对象获取根元素

Document提供了获取根元素的方法:Element getRootElement()

而element的每一个实例用于表示当前xml文件的一个元素(一对标签),它提供了获取
      其元素相关的方法:
      获取当前标签的名字:String getName()
      获取当前标签中间的文本:String getText()
      获取当前标签下指定名字的子标签:Element element(String name)
      获取当前标签下的所有子标签:List elements()
      获取当前标签下指定名字的子标签:List elements(String name)
      获取当前标签下指定名字标签的属性:Attribute attribute(String name)
      Attribute的每一个实例表示一个属性,它有两个方法:
      获取属性名:String getName()
      获取属性值:String getValue()

4.按照xml文档的结构从根元素开始逐级遍历xml文档数据的目的

生成xml文件
其大致步骤为:
1.创建一个Document对象,表示一个空白文档
2.向Document中添加根元素
3.按照xml文档结构从根标签开始逐级添加子标签以及对应的数据
4.创建XmlWrite
5.使用XmlWrite写出Document,生成文档

Document提供了添加根元素的方法:
Element addElement(String name)
添加后会根据标签以一个Element实例返回,以便于我们对其继续操作,
注意,这个方法只能调用一次
Element也提供了添加相关信息的方法:
Element addElement(String name),向当前标签中添加给定标签名的子标签
Element addText(String text),向当前标签中添加指定的文本,返回的还是当前标签
(这样做的好处是 ,可以继续添加其他内容)

java xml 解析相同节点名称 java解析xml并创建对象_java