给定属性和一个新值的xpath,我希望将属性值更新为新值。
我在此处遵循了示例:http://vtd-xml.sourceforge.net/codesample/cs7.html并提出以下内容:
autoPilot.selectXPath(xpath);
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent);
...我的测试都过去了正确的事情。
您的代码可以正常工作...假设您将调用modifier.output((。
但不是最佳...
此语句
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent);
可以写为
modifier.updateToken(autoPilot.evalXPath()+1, newContent);
因为如果属性名称具有i(!= - 1(的索引值,则属性值始终为i 1 ...,因为attr val立即遵循一个atter名称。不需要条件检查。