gpt4 book ai didi

xpath - 限制XPath谓词:谓词以

转载 作者:行者123 更新时间:2023-12-03 17:07:06 30 4
gpt4 key购买 nike

我正在使用XPath 1.0(摘录)浏览此Office打开xml文件:

<sheetData ref="A1:XFD108">
<row spans="1:3" r="1">
<c t="s" r="A1">
<is>
<t>FirstCell</t>
</is>
</c>
<c t="s" r="C1">
<is>
<t>SecondCell</t>
</is>
</c>
</row>
<row spans="1:3" r="2">
<c t="s" r="A2">
<is>
<t>ThirdCell</t>
</is>
</c>
<c t="s" r="C2">
<is>
<t>[persons.ID]</t>
</is>
</c>
</row>
</sheetData>


我需要找到显示“ [persons.ID]”的单元格,这是一个变量。从技术上讲,我需要找到第一个包含以 <row>开头并以 descendant::t结尾的 []。我目前有:

.//row//t[starts-with(text(), '[') and 
substring(text(), string-length(text())) = ']']/ancestor::row


所以我过滤,然后再次上升。它可以工作,但是我想在这里更好地了解XPath-我发现没有办法过滤谓词。您能指出我做 .//row[descendant::t[starts-with()...]]之类的事情的等效方法吗?

任何帮助是极大的赞赏。

最佳答案

从技术上讲,我需要找到第一个
包含一个后代:: t
[开头,以]结尾。


/sheetData/row[c/is/t[starts-with(.,'[')]
[substring(.,string-length(.))=']']]
[1]


要么

/sheetData/row[.//t[starts-with(.,'[') and
substring(.,string-length(.))=']']][1]


要么

(//row[.//t[starts-with(.,'[') and
substring(.,string-length(.))=']']])[1]

关于xpath - 限制XPath谓词:谓词以,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3858097/

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