dom4j 怎么判断是否有dom4j遍历子节点点

2010年8月 Java大版内专家分月排行榜第三
2010年8月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。dom4j操作,怎么访问多个相同标签中的特定标签的属性 以及对相应子节点的操作 - J2EE当前位置:& &&&dom4j操作,怎么访问多个相同标签中的特定标签的属dom4j操作,怎么访问多个相同标签中的特定标签的属性 以及对相应子节点的操作&&网友分享于:&&浏览:73次dom4j操作,如何访问多个相同标签中的特定标签的属性 以及对相应子节点的操作如&book&id="1"&year=""&&page&id="2"&&/page&&page&&/page&&/book&&&book&id="2"&year=""&&page&&/page&&/book&&如何根据特定book的id来对其year属性进行更改&以及对它子节点&page&(与Id相匹配的)进行更改
------解决方案--------------------可以使用xpath来快速定位你要的节点,然后再修改。建议去网上找找,不是很难的。。------解决方案--------------------
要不你先试一试这个看看,把id写活了,定位到某一节点之后,再操作其属性------解决方案--------------------Element&picLinks&=&(Element)&doc.selectSingleNode("//book[@id='1']");
基本这样可以满足你的需求了?
12345678910
12345678910
12345678910 上一篇:下一篇:文章评论相关解决方案 12345678910 Copyright & &&版权所有Java中利用Dom4j解析并验证XML中是否存在某节点
XML数据结构:
&data&&templateid&163&/templateid&&temptype&3&/temptype&&unitdeptype&&/unitdeptype&&punishman&张三&/punishman&&punishno&No.123456&/punishno&&punishprojno&252002&/punishprojno&&punishamt&123.56&/punishamt&&punishdate&&/punishdate&&payer&张三表弟&/payer&&paybankno&56&/paybankno&&paybank&中国农业银行上海分行&/paybank&&punishdepend&罚没依据信息1&/punishdepend&&t1&辅助说明1&/t1&&billInfos&&billInfo&&billTypeNo&B000081&/billTypeNo&&billInfoNo&&/billInfoNo&&billAmt&100.56&/billAmt&&deliverdt&&/deliverdt&&/billInfo&&billInfo&&billTypeNo&B000081&/billTypeNo&&billInfoNo&&/billInfoNo&&billAmt&23&/billAmt&&deliverdt&&/deliverdt&&/billInfo&&/billInfos&&/data&
boolean isValidateNode =
&& //默认所有节点都存在Document validateN
&&&&&&&validateNode
= DocumentHelper.parseText(strXml);
&&&&&&&if(validateNode.selectSingleNode("data/templateid")==null
|| validateNode.selectSingleNode("data/temptype")==null
|| validateNode.selectSingleNode("data/punishdate")==null ||
validateNode.selectSingleNode("data/unitdeptype")==null
|| validateNode.selectSingleNode("data/punishprojno")==null ||
validateNode.selectSingleNode("data/punishno")==null
|| validateNode.selectSingleNode("data/punishamt")==null ||
validateNode.selectSingleNode("data/punishman")==null
|| validateNode.selectSingleNode("data/unitdeptype")==null ||
validateNode.selectSingleNode("data/payer")==null
|| validateNode.selectSingleNode("data/paybankno")==null ||
validateNode.selectSingleNode("data/paybank")==null
|| validateNode.selectSingleNode("data/punishdepend")==null){
&&&&&&&&isValidateNode
=&& //缺少指定节点时被置为false&&&&&&&}
&&&&&&&List
nodeList =
validateNode.selectNodes("data/billInfos/billInfo");
&&&&&&&for(Iterator
iter = nodeList.iterator(); iter.hasNext();){
Element tempEle = (Element)iter.next();
Document tempDoc = tempEle.getDocument();
if(tempDoc.selectSingleNode("data/billInfos/billInfo/billTypeNo")==null
tempDoc.selectSingleNode("data/billInfos/billInfo/billInfoNo")==null
&&&&&&&&&&
tempDoc.selectSingleNode("data/billInfos/billInfo/billAmt")==null
tempDoc.selectSingleNode("data/billInfos/billInfo/deliverdt")==null){
&&&&&&&&&isValidateNode
=&& //缺少指定节点时被置为false&&&&&&&&&
catch (DocumentException e) {
&&&&&&&logger.error(e.getMessage());
&&&&&&&e.printStackTrace();
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

我要回帖

更多关于 dom4j 子节点 的文章

 

随机推荐