dom4j解析带有xmlns的xml文件
上一篇 /
下一篇 2013-01-22 10:03:23
/ 个人分类:Java学习
使用dom4j来解析带有命名空间的xml文件, 由于dom4j的xpath api依赖jaxen完成, 所以除了dom4j.jar包外, 还需要jaxen.jar包
jaxen.jar下载路径: http://jaxen.codehaus.org/releases.html
xml文件如下:
代码参考如下:
String fileName = "D:\test.xml";
String xmlNameSpace = "qtpRep";
File f = new File(fileName);
SAXReader reader = new SAXReader();
Document doc = reader.read(f);
Element root = doc.getRootElement();
HashMap xmlMap = new HashMap();
xmlMap.put(xmlNameSpace, "http://www.mercury.com/qtp/ObjectRepository");
XPath xItemName = doc.createXPath("//" + xmlNameSpace + ":Object");
xItemName.setNamespaceURIs(xmlMap);
Element bjElement = (Element) xItemName.selectSingleNode(doc);
System.out.println("object node=" + objElement.attributeCount());
dom4j中,使用Element.attributes方法可以获取到节点的属性,而使用elements则可以获取相应的子节点
比如:
Element root = doc.getRootElement();
List attrList = root.attributes();
for (int i = 0; i < attrList.size(); i++) {
//属性的取得
Attribute item = (Attribute)attrList.get(i);
System.out.println(item.getName() + "=" + item.getValue());
}
List childList = root.elements();
for (int i = 0; i < childList.size(); i++) {
//子节点的操作
Element it = (Element) childList.get(i);
//对子节点进行其它操作...
}
TAG:
我来说两句
显示全部




















内容
昵称
验证

提交评论
本文介绍使用dom4j解析带有命名空间(xmlns)的xml文件。因dom4j的xpath api依赖jaxen,需额外引入jaxen.jar包。给出了具体代码示例,还说明了在dom4j中使用Element.attributes和elements方法获取节点属性和子节点的操作。

442

被折叠的 条评论
为什么被折叠?



