我想在XML CV文件來修改我的名字,但是當我用這個語句:如何修改使用StAX XML元素在Java中
XMLOutputFactory xof = XMLOutputFactory.newInstance();
XMLStreamWriter xtw = null;
xtw = xof.createXMLStreamWriter(new FileWriter("eman.xml"));
文件的全部內容被刪除,變成空。基本上,我想打開(eman.xml)進行修改而不刪除其內容。
我想在XML CV文件來修改我的名字,但是當我用這個語句:如何修改使用StAX XML元素在Java中
XMLOutputFactory xof = XMLOutputFactory.newInstance();
XMLStreamWriter xtw = null;
xtw = xof.createXMLStreamWriter(new FileWriter("eman.xml"));
文件的全部內容被刪除,變成空。基本上,我想打開(eman.xml)進行修改而不刪除其內容。
如果你想在處理你的xml文件時使用STAX,你應該知道你只能讀/寫xml文件,但是如果你想修改你的xml,那麼當你在STAX中發生確切的事件時你可以進行處理對於使用DOM的ur xml。 這裏是一些例子:
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.
} }
關於閱讀,並在同一時間,STAX寫的問題也在這裏回答:How to modify a huge XML file by StAX?
您可能需要VTD XML爲這個,因爲它是唯一的支持增量更新的XML框架 – 2016-04-28 05:28:20