一、使用JDOOM解析xml文档
准备工作
1.下载JDOM.jar 包
解析代码如下
import org.jdom2.Attribute; import org.jdom2.Document; import org.jdom2.Element; import org.jdom2.input.SAXBuilder; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; public class Main { public static void main(String[] args) throws Exception { //创建一个解析器 SAXBuilder builder=new SAXBuilder(); //创建一个文件输入流 InputStream in=new FileInputStream("src/server.xml"); //将流加载到解析器中。 Document document=builder.build(in); //获取文档的根节点 Element rootElement=document.getRootElement(); //将根节点的所有子节点获取放到一个集合中 List<Element> list=rootElement.getChildren(); //循环遍历所有子节点 for(Element element:list){ System.out.println("开始遍历第"+(list.indexOf(element)+1)+"本书======"); //获取所有的属性并遍历输出 List<Attribute> list1=element.getAttributes(); for(Attribute attr:list1){ System.out.println("属性名是"+attr.getName()); System.out.println("属性值是"+attr.getValue()); } System.out.println("结束遍历第"+(list.indexOf(element)+1)+"本书======"); } } }
二、使用DOM4J解析xml文档
准备工作:
1.下载导入DOM4J的jar包,代码如下:
import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; import java.io.File; import java.util.Iterator; import java.util.List; public class Main { public static void main(String[] args) throws Exception { //创建一个解析器 SAXReader saxReader=new SAXReader(); //加载文档到dom中,注意是dom4j中的dom Document document=saxReader.read(new File("src/server.xml")); //获取文档的根节点 Element bookStore=document.getRootElement(); //获取根节点的迭代器 Iterator iter=bookStore.elementIterator(); //迭代根节点下面的子节点 while(iter.hasNext()){ System.out.println("开始遍历谋一本书========="); Element book=(Element)iter.next(); //获取节点的属性集合 List<Attribute> bookAttr=book.attributes(); //遍历属性集合 for(Attribute attr:bookAttr){ System.out.println("属性名:"+attr.getName()+"====属性值:"+attr.getValue()); } //获取子节点book的子节点迭代器 Iterator iterator=book.elementIterator(); while(iterator.hasNext()){ Element child=(Element)iterator.next(); System.out.println("节点名:"+child.getName()+"==节点值:"+child.getStringValue()); } System.out.println("结束遍历谋一本书========="); } } }