2013-06-28 171 views
1

關於stAX xml讀寫器的快速問題。編輯xml文件java

從如何編輯使用StAX XML文件的一部分前一個問題繼,這是我在做什麼:

XMLInputFactory inFactory = XMLInputFactory.newInstance(); 
XMLEventReader eventReader = inFactory.createXMLEventReader(new FileInputStream("bla.xml")); 
XMLOutputFactory factory = XMLOutputFactory.newInstance(); 
XMLEventWriter writer = factory.createXMLEventWriter(new FileWriter(new file("bla2.xml)); 
XMLEventFactory eventFactory = XMLEventFactory.newInstance(); 

while (eventReader.hasNext()) { 
    XMLEvent event = eventReader.nextEvent(); 
    writer.add(event); 

如果(條件) 創建並添加其他事件 } ... ...。 這樣,它複製文件,但如果條件匹配,則進行更改。

  • 但是,要做到這一點,我正在創建一個新文件 - bla2.xml。這是必要的嗎?
  • stAX只允許我寫入原始文件bla1.xml嗎?
  • 如果沒有,那麼我假設我將不得不創建新文件,刪除舊文件並將新文件重命名爲與之前相同。正確?

回答

0

在此行中:

XMLEventWriter writer = factory.createXMLEventWriter(new FileWriter(new file("bla2.xml)); 

變化bla2.xml簡單bla.xml。新文件將覆蓋前一個文件。