gpt4 book ai didi

java - 用于编辑与其他元素中包含的名称和值相同的单个子元素的 xpath 查询

转载 作者:太空宇宙 更新时间:2023-11-04 12:28:37 25 4
gpt4 key购买 nike

我正在尝试更新一个元素中的值(一个接一个),但我更新了所有满足 xpath 条件的元素。 XML并不复杂,例如:

<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<row>
<ELEMENT1>W</ELEMENT1>
<ELEMENT2>IN</ELEMENT2>
<ELEMENT3>RP</ELEMENT3>
<ELEMENT4>KKK</ELEMENT4>
</row>
<row>
<ELEMENT1>2</ELEMENT1>
<ELEMENT2>ARQ</ELEMENT2>
<ELEMENT3>MR</ELEMENT3>
<ELEMENT4>AC</ELEMENT4>
</row>
<row>
<ELEMENT1>3</ELEMENT1>
<ELEMENT2>I</ELEMENT2>
<ELEMENT3>RP</ELEMENT3>
<ELEMENT4>KKK</ELEMENT4>
</row>
<row>
<ELEMENT1>1</ELEMENT1>
<ELEMENT2>CC</ELEMENT2>
<ELEMENT3>XX</ELEMENT3>
<ELEMENT4>I</ELEMENT4>
</row>
<row>
<ELEMENT1>12</ELEMENT1>
<ELEMENT2>IN</ELEMENT2>
<ELEMENT3>3</ELEMENT3>
<ELEMENT4></ELEMENT4>
</row>
</root>

所有行元素具有相同的名称(row),所有行元素具有相同名称和不同值的相同元素,但元素之间可以重复。通过 java 迭代,我获取元素,如果我想使用以下查询 XPath 表达式更新第三行 ELEMENT4 的值

/root/row/ELEMENT4[text()='KKK']

它会更改所有行中所有 ELEMENT4 中的值。如果我尝试这样的操作:

/root/row/ELEMENT3[text()='RP'][/root/row/[position()='3']]

结果是一样的。我可以使用什么 xpath 查询表达式将子元素的值编辑到元素中而不影响其他元素的同名子元素?...非常感谢

最佳答案

如果您想获取第3行ELEMENT4,则只需使用:

/root/row[3]/ELEMENT4

您不需要使用 text() 条件。

关于java - 用于编辑与其他元素中包含的名称和值相同的单个子元素的 xpath 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38116512/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com