Dom4j小结
1. 至于如何用DOM4J创建xml文件我就不加多说了,先讲下如何修改xml文件中的属性值假设有xml文件如下:
在该xml文件中查找show属性,并将值等于yes的改成no。
修改owner节点,并添加子节点及属性
同理,我们也可以做到删除节点或属性的操作
2.未完待续...(以后讲下Visitor和ElementHandler,感觉自己是班门弄斧,汗颜啊- -#,各位大大请赐教啊)
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,感觉自己是班门弄斧,汗颜啊- -#,各位大大请赐教啊)