在线等高手,求助java程序。引用dom4j的包,通过程序修改xml文件中元素的值。 下面的方法有什么问题?
publicvoidupdateElement(Stringpath,Stringname,Stringvalue)throwsDocumentException,IOE...
public void updateElement(String path,String name,String value) throws DocumentException, IOException{
Document doc=loadXml(path);
List list=doc.selectNodes(name);
Iterator iter=list.iterator();
while(iter.hasNext()){
Attribute attr=(Attribute)iter.next();
if(attr.getName().equals(name)){
attr.setValue(value);
}
}
try{
FileWriter fw=new FileWriter(path,false);
XMLWriter writer = new XMLWriter(fw);
writer.write(doc);
writer.close();
}
catch(Exception ex){}
} 展开
Document doc=loadXml(path);
List list=doc.selectNodes(name);
Iterator iter=list.iterator();
while(iter.hasNext()){
Attribute attr=(Attribute)iter.next();
if(attr.getName().equals(name)){
attr.setValue(value);
}
}
try{
FileWriter fw=new FileWriter(path,false);
XMLWriter writer = new XMLWriter(fw);
writer.write(doc);
writer.close();
}
catch(Exception ex){}
} 展开
2个回答
展开全部
List list = doc.selectNodes(name);
这个里面的name 应该是root节点
Attribute attr=(Attribute)iter.next();
这里应该改为
Element element = (Element) it.next();
Attribute attr = element.attribute(属性名称);
<root><a id="123"></a><a id="abc"></a><a id="12aasd"></a></root>
有问题的话留蔻蔻,直接解决!
这个里面的name 应该是root节点
Attribute attr=(Attribute)iter.next();
这里应该改为
Element element = (Element) it.next();
Attribute attr = element.attribute(属性名称);
<root><a id="123"></a><a id="abc"></a><a id="12aasd"></a></root>
有问题的话留蔻蔻,直接解决!
追问
我昵称。就是QQ。。求解决。
追答
好了,发给你了!示例!~
2012-12-04
展开全部
看不懂吧
追问
怎么看不懂了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询