Вот мой пример кода
.
.
.
<abc1 attrname="a_xyz_txt">
<tab1>
<tab2>
.
.
<Update>
<Value>Some value</Value>
</Update>
.
.
</tab2>
</tab1>
</abc1>
.
.
.
<abc1 attrname="b_xyz_txt">
<tab1>
<tab2>
.
.
<Update>
<Value>Some value</Value>
</Update>
.
.
</tab2>
</tab1>
</abc1>
.
.
.
Я сделал следующее
XPath xPath = XPathFactory.newInstance().newXPath();
NodeList nodes1 = (NodeList) xPath.evaluate("//*[contains(@attrname,\"xyz\"")];
System.out.prinln("nodes Length : " + nodes1.getLength()); //Gives 2
, пока все не будет в порядке. Теперь мне нужно найти в xml и обновить текстовое значение до «Обновленное значение». Как мне его достичь?
Я пытался:
NodeList nodes2 = (NodeList) xPath.evaluate("//*[contains(@attrname,\"xyz\")]//Value/text()";
//Gives me null