Java 使用vtd xml更新属性值
给定一个属性的xpath和一个新值,我希望将属性值更新为新值 我在这里遵循了这个例子:并得出以下结论:Java 使用vtd xml更新属性值,java,vtd-xml,Java,Vtd Xml,给定一个属性的xpath和一个新值,我希望将属性值更新为新值 我在这里遵循了这个例子:并得出以下结论: autoPilot.selectXPath(xpath); modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent); …我的测试都通过了,但可能是因为我不习惯vtd xml的“标记化”工作方式,它“感觉”不正确,所以我只是想确认我做了正确的事情。您的代码会工作得很好
autoPilot.selectXPath(xpath);
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent);
…我的测试都通过了,但可能是因为我不习惯vtd xml的“标记化”工作方式,它“感觉”不正确,所以我只是想确认我做了正确的事情。您的代码会工作得很好。。。假设您将调用modifier.output() 但这不是最优的 此声明
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent);
可以写成
modifier.updateToken(autoPilot.evalXPath()+1, newContent);
因为如果属性名的索引值为i(!=-1),则属性值始终为i+1。。。as attr val紧跟在attr名称之后。不需要条件检查。您的代码可以正常工作。。。假设您将调用modifier.output() 但这不是最优的 此声明
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent);
可以写成
modifier.updateToken(autoPilot.evalXPath()+1, newContent);
因为如果属性名的索引值为i(!=-1),则属性值始终为i+1。。。as attr val紧跟在attr名称之后。不需要条件检查