public XMLWriter(OutputStream out) throws UnsupportedEncodingException {
//System.out.println("In OutputStream");
this.format = DEFAULT_FORMAT;
this.writer = createWriter(out, format.getEncoding());
this.autoFlush = true;
namespaceStack.push(Namespace.NO_NAMESPACE);
}
public XMLWriter(OutputStream out, OutputFormat format) throws UnsupportedEncodingException {
//System.out.println("In OutputStream,OutputFormat");
this.format = format;
this.writer = createWriter(out, format.getEncoding());
this.autoFlush = true;
namespaceStack.push(Namespace.NO_NAMESPACE);
}
import java.io.File;
import java.io.FileWriter;
import java.util.Iterator;
import java.util.List;
import java.io.FileOutputStream;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;
public class firstClass {
public int ModifyXMLFile(String fileName,String newFileName)
{
int returnValue=0;
try{
SAXReader reader = new SAXReader();
Document document = reader.read(new File(fileName));
List list = document.selectNodes("books/book");
Iterator iter=list.iterator();
while(iter.hasNext())
{
Element e = (Element)iter.next();
Attribute attribute = e.attribute("price");
attribute.setText("55___FCKpd___1quot;);
Element title = e.element("title");
title.setText("北京天安门");
//Element bookElement = (Element)iter.next();
//System.out.println(bookElement.element("title").getText());
//Attribute attribute = (Attribute)iter.next();
//System.out.println(attribute.getValue());
}
try{
XMLWriter writer = new XMLWriter(new FileOutputStream(newFileName));
writer.write(document);
writer.close();
returnValue=1;
}catch(Exception ex){
ex.printStackTrace();
}
}
catch(Exception ex)
{
ex.printStackTrace();
}
return returnValue;
}
public int CreateXMLFile(String filename){
int returnValue=0;
Document document = DocumentHelper.createDocument();
Element booksElement = document.addElement("books");
booksElement.addComment("This is a test for dom4j");
Element bookElement = booksElement.addElement("book");
bookElement.addAttribute("price", "11___FCKpd___1quot;);
Element bookTitle = bookElement.addElement("title");
bookTitle.setText("星期五");
bookElement = booksElement.addElement("book");
bookElement.addAttribute("price", "33___FCKpd___1quot;);
bookTitle = bookElement.addElement("title");
bookTitle.setText("周三");
try{
XMLWriter writer = new XMLWriter(new FileOutputStream(filename));
//输出中文错误new XMLWriter(new FileWriter(new File(filename)));
writer.write(document);
writer.close();
returnValue=1;
}catch(Exception ex){
ex.printStackTrace();
}
return returnValue;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
firstClass fClass = new firstClass();
fClass.CreateXMLFile("test.xml");
fClass.ModifyXMLFile("test.xml","modify.xml");
}
}
需先导入jaxen-1.1.1.jar和dom4j-1.6.1.jar