使用SAX解析器修改xml文件

时间:2014-05-09 08:24:22

标签: java xml dom xml-parsing sax

我们可以使用SAX解析器修改或更新xml文件吗?如果是,请提供示例代码或任何有用的链接

我的xml文件看起来像这样

<vertices>
<vertex>
<name>user1</name>
<type>Ashok</type>
<nickname>nickuser1</nickname>
</vertex>
</vertices>"

我想将“user1”更改为“user2”。帮帮我

2 个答案:

答案 0 :(得分:2)

如果您不愿意使用DOM解析器,因为您有一个大型XML,您可以使用XPATH或XLST来转换xml。

What is best way to change one value in XML files in Java?

答案 1 :(得分:0)

以下是在vtd-xml中执行此操作的代码...它比基于DOM或SAX的解决方案更有效/更简单...在此处进一步阅读是一篇名为manipulate XML the Ximple Way的文章。 ..

import java.io.*;
public class modifyXML {
    public static void main(String[] s) throws VTDException, IOException{
        VTDGen vg = new VTDGen();
        if (!vg.parseFile("input.xml", false))
            return;
        VTDNav vn = vg.getNav();
        AutoPilot ap = new AutoPilot(vn);
        ap.selectXPath("/vertices/vertex/name/text()");
        XMLModifier xm = new XMLModifier(vn);
        // using XPath
        int i=ap.evalXPath();
        if(i!=-1){
            xm.updateToken(i, "user2");
        }
        xm.output("output.xml");
    }
}