`
laitaogood
  • 浏览: 106444 次
  • 性别: Icon_minigender_1
  • 来自: 豫章郡→紫禁城
社区版块
存档分类
最新评论

Dom4j使用小结

阅读更多
Dom4j小结
1. 至于如何用DOM4J创建xml文件我就不加多说了,先讲下如何修改xml文件中的属性值假设有xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<books>
     <!--This is a test for dom4j, holen, 2004.9.11-->
     <book show="yes">
          <title>Dom4j Tutorials</title>
     </book>
     <book show="yes">
          <title>Lucene Studing</title>
     </book>
     <book show="no">
          <title>Lucene in Action</title>
     </book>
     <owner>O'Reilly</owner>
</books>

在该xml文件中查找show属性,并将值等于yes的改成no。
SAXReader saxReader = new SAXReader();
Document doc = saxReader.read(“***.xml”):
/**
*	注意属性用@来表示
*/
List list = doc.selectNodes(“/books/book/@show”);
Iterator it = list.iterator();
while(it.hasNext())
{
		Attribute attr = (Attribute)it.next();
		if(attr.getValue().equalse(“yes”))
		{
	attr.setValue(“no”);
}
}


修改owner节点,并添加子节点及属性
list = doc.selectNodes(“/books/owner”);
it = list.iterator();
while(it.hasNext())
{
		Element elt = (Element)it.next();
		elt.setText(“机械工业出版社”);
		Element dataElement = elt.addElement(“data”);
		dataElement.setText(“2008-1-31”);
		dataElement.addAttribute(“category”,”IT类”);
}

保存修改后的xml文件
OutputFormat outFmt = new OutputFormat(“		”,true);
//或者改成缩进式
//OutputFormat outFmt = OutputFormat.createPrettyPrint();
outFmt.setEncoding(“gb2312”);
try
{
		XMLWriter xmlWriter = new XMLWriter(new FileWriter(“***.xml”),outFmt);
		xmlWriter.write(doc);
		xmlWriter.flush();
}
catch(Exception e)
{
		e.printStackTrace();
}


同理,我们也可以做到删除节点或属性的操作
2.未完待续...(以后讲下Visitor和ElementHandler,感觉自己是班门弄斧,汗颜啊- -#,各位大大请赐教啊)
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics