1

我想在 xml cv 文件中修改我的名字,但是当我使用这个语句时:

XMLOutputFactory xof = XMLOutputFactory.newInstance();
XMLStreamWriter xtw = null;
xtw = xof.createXMLStreamWriter(new FileWriter("eman.xml"));

文件的所有内容都被删除并变为空。基本上,我想在不删除其内容的情况下打开(eman.xml)进行修改。

4

2 回答 2

0

关于stax同时读写的问题,这里也有解答:StAX如何修改一个巨大的XML文件?

于 2013-06-07T19:35:45.010 回答
0

如果您想使用 STAX 处理您的 xml 文件,您应该知道您只能读取/写入 xml 文件,但是如果您想在 STAX 中发生确切事件时修改您的 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.

} }

于 2010-10-29T19:29:00.970 回答