java基础--解析XML(一)
2013-11-03 17:23
483 查看
package Dom4j; import java.io.File; import java.util.Iterator; import java.util.List; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class ReadStudentInfoXML { /** * @param args * @throws Exception */ public static void main(String[] args) throws Exception { //1.获取dom4j中读取xml文档的对象,saxReader SAXReader reader=new SAXReader(); File file=new File("studentInfo.xml"); //2.通过该读取对象的read方法,与要操作的xmL文档相关联,获取该文档的document对象 Document document=reader.read(file); Element root=document.getRootElement(); //读取id=2的学生节点 /*String studentId="2"; Element studentElement=null; String xpath="/students/student/property[@name='id']"; List list= document.selectNodes(xpath); Iterator iterator=list.iterator(); System.out.println(list.size()); while(iterator.hasNext()){ Element pro=(Element) iterator.next(); System.out.println(pro.getText()); if(pro.getText().equals(studentId)){ studentElement=pro.getParent(); break; } } System.out.println(studentElement.asXML()); */ String studentId="2"; Element studentElement=getStudentByID(document, studentId); System.out.println(studentElement.asXML()); } private static Element getStudentByID(Document document, String studentId) { Element studentElement=null; String xpath="/students/student/property[@name='id']"; List list= document.selectNodes(xpath); Iterator iterator=list.iterator(); //System.out.println(list.size());//2 while(iterator.hasNext()){ Element pro=(Element) iterator.next(); //System.out.println(pro.getText()); if(pro.getText().equals(studentId)){ studentElement=pro.getParent(); break; } } return studentElement; } }
studentInfo.xml:
<?xml version="1.0" ?> <students> <student > <property name="name">张三</property> <property name="age">11</property> <property name="id">1</property> </student> <student > <property name="name">李四</property> <property name="age">22</property> <property name="id">2</property> </student> </students>
运行结果如下:
<student>
<property name="name">李四</property>
<property name="age">22</property>
<property name="id">2</property>
</student>
相关文章推荐
- Java基础学习总结(10)——JAVA解析XML
- Java基础之XML解析
- Java基础之XML解析
- java基础之概谈xml文件解析
- java基础71 XML解析中的【DOM和SAX解析工具】相关知识点(网页知识)
- JAVA基础学习之XMLCDATA区、XML处理指令、XML约束概述、JavaBean、XML解析(8)
- JAVA基础——XML解析
- 手写服务器httpserver_xml配置文件_sax解析基础应用JAVA205-206
- XML基础+Java解析XML +几种解析方式的性能比较
- xml 解析 java 基础复习
- java基础74 XML解析中的SAX解析相关知识点(网页知识)
- Java基础 XML解析
- java基础之概谈xml文件解析
- java基础第八讲——URL、XML的解析
- JAVA企业级开发-xml基础语法&约束&解析(04)
- Java基础之XML解析
- Hadoop基础教程-第4章 HDFS的Java API(4.3 pom.xml解析)
- 初学者入门 JAVA 的 XML 编程实例解析-Java基础-Java-编程开发
- XML基础+Java解析XML +几种解析方式的性能比较
- Java基础之解析XML