Xpath (Java): невозможно найти узел или значение узла - PullRequest
0 голосов
/ 03 апреля 2020

Вот мой пример кода

   .
    .
    .
    <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
...