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行无法定位,语法错误了么?
原文:https://www.cnblogs.com/hello-mrz/p/10872795.html