//创建XML
//与XML元素冲突的用Element.addCDATA(String s)
Document document = DocumentHelper.createDocument();
Element root = document.addElement( "topics" );
for(int i=0;i<topicList.size();i++){
TopicBean topic = (TopicBean)topicList.get(i);
Element topicE = root.addElement("topic");
topicE.addElement("id").addText(topic.getId()+"");
topicE.addElement("poster").addText(toUTF(topic.getPostUser()));
topicE.addElement("title").addText(toUTF(topic.getTitle()));
}
return document.asXML();
---------------------------------------------------------------------------------------------------
//读取XML
SAXReader saxReader = new SAXReader();
Document document = saxReader.read(new File("D:/RenDa.xml"));
String str = document.getRootElement().element("channel").element("item").element("description").getText()
或者是
List list = document.selectNodes("//article/author" );
iter=list.iterator();
while(iter.hasNext()){
Element element=(Element)iter.next();
Iterator iterator=element.elementIterator("lastname");
while(iterator.hasNext()){
Element lastNameElement=(Element)iterator.next();
if(lastNameElement.getText().equals("Vitaletti"))
lastNameElement.setText("Malik");
}
}
-------------------------------------------------------------------------------------------------
//把Document输出到文件
XMLWriter output = new XMLWriter(
new FileWriter( new File("c:/catalog/catalog-modified.xml") ));
output.write( document );
output.close();
---------------------------------------------------------------------------------------
//根据String来读取XML
SAXReader saxReader = new SAXReader();
Document document;
try {
document = saxReader.read(new ByteArrayInputStream(str.getBytes()));
Element rootElement = document.getRootElement();
String getXMLEncoding = document.getXMLEncoding();
String rootname = rootElement.getName();
System.out.println("getXMLEncoding>>>" + getXMLEncoding + ",rootname>>>" + rootname);
OutputFormat format = OutputFormat.createPrettyPrint();
/** 指定XML字符集编码 */
format.setEncoding("GB2312");
/** 将document中的内容写入文件中 */
XMLWriter writer = new XMLWriter(new FileWriter(new File("cctv.xml")),format);
writer.write(document);
writer.close();
} catch (DocumentException e) {
// TODOAuto-generatedcatchblock
e.printStackTrace();