2013-06-28 126 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。新文件将覆盖前一个文件。