我想在xml cv文件中修改我的名字,但是当我使用这个语句时:
XMLOutputFactory xof = XMLOutputFactory.newInstance();
XMLStreamWriter xtw = null;
xtw = xof.createXMLStreamWriter(new FileWriter("eman.xml"));
删除文件的所有内容,它变为空。基本上,我想打开(eman.xml)进行修改而不删除其内容。
答案 0 :(得分:0)
如果你想在处理你的xml文件时使用STAX,你应该知道你只能读取/写入xml文件,但是如果你想在STAX中发生确切事件时修改你的xml你可以进行处理ur xml使用DOM。 这是一些例子:
XMLInputFactory factory = XMLInputFactory.newInstance();
XMLStreamReader xmlReader= factory.createXMLStreamReader(new FileReader(fileName));
int eventType;
while(xmlReader.hasNext()){
eventType= xmlReader.next();
if(eventType==XMLEvent.START_ELEMENT)
{
QName qNqme = xmlReader.getName();
if("YURTAG".equals(qNqme.toString()))
{
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
File file = new File("YOURXML.xml");
Document doc = builder.parse(file);
//make the required processing for your file.
}
}
}
}
答案 1 :(得分:0)
这里也回答了关于使用stax同时阅读和写作的问题:How to modify a huge XML file by StAX?