首页 > 其他 > 详细

关于dom4j中xpath问题,求大佬详解。。。

时间:2019-05-15 23:11:19      阅读:129      评论:0      收藏:0      [点我收藏+]

school.xml文件

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <students xmlns="http://www.source-z.top"
 3           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4           xsi:schemaLocation="http://www.source-z.top school.xsd">
 5 
 6     <student id="001">
 7         <name>小明</name>
 8         <age>9</age>
 9         <score>98</score>
10     </student>
11 
12     <student id="002">
13         <name>小红</name>
14         <age>8</age>
15         <score>83</score>
16     </student>
17 
18 </students>

解析文件

 1 package xml.test;
 2 
 3 import org.dom4j.Document;
 4 import org.dom4j.DocumentException;
 5 import org.dom4j.Node;
 6 import org.dom4j.io.SAXReader;
 7 
 8 import java.util.HashMap;
 9 import java.util.Map;
10 
11 public class ParseSchoolXML {
12     public static void main(String[] args) throws DocumentException {
13         //获取解析器
14         SAXReader sax = new SAXReader();
15         //获取整个文档Document
16         Document doc = sax.read("school.xml");
17 
18         //启动XPath对命名空间的支持
19         Map<String, String> map = new HashMap<>();
20         map.put("xs", "http://www.source-z.top");
21         sax.getDocumentFactory().setXPathNamespaceURIs(map);
22 
23         //直接获取指定元素
24         Node node1 = doc.selectSingleNode("//xs:student[@id=‘002‘]/xs:name"); 
25         System.out.println(node1.getText());
26         Node node2 = doc.selectSingleNode("//xs:name[2]");
27         System.out.println(node2);  // null 百思不得其姐啊,求大佬解答
28     }
29 }

24行 定位正常 但是26行无法定位,语法错误了么?

关于dom4j中xpath问题,求大佬详解。。。

原文:https://www.cnblogs.com/hello-mrz/p/10872795.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!