我们可以使用SAX解析器修改或更新xml文件吗?如果是,请提供示例代码或任何有用的链接
我的xml文件看起来像这样
<vertices>
<vertex>
<name>user1</name>
<type>Ashok</type>
<nickname>nickuser1</nickname>
</vertex>
</vertices>"
我想将“user1”更改为“user2”。帮帮我
答案 0 :(得分:2)
如果您不愿意使用DOM解析器,因为您有一个大型XML,您可以使用XPATH或XLST来转换xml。
答案 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");
}
}