还是太年轻啊,遇到坑就记录一下,免得再掉坑里
下面是剧本
1、建立项目之后,在com.dom4j包下创建users.xml,内容如下:
<?xml version="1.0" encoding="UTF-8"?> <root> <user id="u01" username="jack" password="123456" /> <user id="u02" username="marry" password="654321" /> </root>
在com.dom4j包下创建Dom4jXpath.java,内容如下:
package com.dom4j; import java.io.File; import java.util.Scanner; import org.dom4j.Document; import org.dom4j.Element; import org.dom4j.io.SAXReader; public class Dom4jXpath { public static void main(String[] args) throws Exception { //解析XML文件,并查找指定的元素 SAXReader saxReader = new SAXReader(); Document document = saxReader.read(new File("src/com/dom4j/users.xml")); String xpath = "//user"; Element element = (Element) document.selectSingleNode(xpath); System.out.println(element); } }
org.dom4j.tree.DefaultElement@4b187f5b [Element: <user attributes: [org.dom4j.tree.DefaultAttribute@454e3bb0 [Attribute: name id value "u01"], org.dom4j.tree.DefaultAttribute@1330c35c [Attribute: name username value "jack"], org.dom4j.tree.DefaultAttribute@6669d6db [Attribute: name password value "123456"]]/>]
3、看完剧本,现在开始进入实际项目了,由于在内网上,xml最不用原始的了
进入正题
在项目中,xml类似于下面这种
<?xml version="1.0" encoding="UTF-8"?> <root xmlns="www.baidu.com"> <user id="u01" username="jack" password="123456" /> <user id="u02" username="marry" password="654321" /> </root>
后来一行行来试吧。发现是这个xmlns的问题。虽然不知道为什么,但是xmlns改为其他字符串,比如 snlmx就ok了。也是没有爱啊。