2017-05-30 4 views
1

属性へのxpathと新しい値を指定すると、属性値を新しい値に更新しようとしています。vtd-xmlを使用して属性値を更新する

私はここに例続いている:http://vtd-xml.sourceforge.net/codeSample/cs7.htmlをし、次を思い付く:

autoPilot.selectXPath(xpath); 
modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent); 

を...私のテストのすべてのパスをおそらく私がそのVTD-XML「トークン化」の方法を使用しておりませんので、私は正しいことをしたと断言しています。

答えて

0

あなたのコードはうまくいくでしょう... modifier.output()を呼び出すと仮定します。

が、それは最適ではない...

この文

modifier.updateToken(vtdNav.getAttrVal(vtdNav.toString(autoPilot.evalXPath())), newContent); 

は、属性名は、(iのインデックス値を持っているのであれば!=

modifier.updateToken(autoPilot.evalXPath()+1, newContent); 

のように書くことができます-1)、attr値はattr名の直後にあるので、attrinute値は常にi + 1 ...です。条件付きチェックは不要です。

関連する問題