java 解析xml xmlns_dom4j解析带有xmlns的xml文件

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

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:

我来说两句

显示全部

d8a3dac35532145b347031a8fb402eba.gif

4d73fc83cb27b31041650c043e06fdc8.gif

5d06f4dc9b08a7e1fecdedaf9fe87c66.gif

659391f05d11818e0d3bd694a6d99ddc.gif

f27d7d9f67d98cc858fe74ff4d76554e.gif

b0d82b880d66765dd2a1af173b20f406.gif

e87f042c31e114675541bb49e0fbf138.gif

97a372eda248bf63679ecf2d47467589.gif

a14a392968e29ace4cb2ca390d53264e.gif

ff31a40db0d852c3704276b17a1dd158.gif

46298ad80746c3790e9535ce3396efec.gif

ef97f2303f935b723744c0c99db267f8.gif

46add61d58ae5b455d8994b1485357d3.gif

701ffdce43c5ac45c241dba6a7ae431d.gif

4ac0c1a50de5d21a8087006d0295547a.gif

e54bbadbdbb00b0b5cc4182352ca2352.gif

afb655844bdfda4cf47fef6d239f009d.gif

bf5c12b671f1179ba425de53370ebd3d.gif

865ad24093d248b0ec3b85ea66a6aaa7.gif

ab80f8b6419577f8a8ad7bb690794024.gif

内容

昵称

验证

ada834077f6a48ad60a11ec0354fde86.png

提交评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值