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:
我来说两句
显示全部
内容
昵称
验证
提交评论