gpt4 book ai didi

delphi - XPATH 中的正则表达式

转载 作者:行者123 更新时间:2023-12-03 15:52:43 24 4
gpt4 key购买 nike

如何使用 XPATH 的匹配功能来搜索 XML 标记中的整个单词?

以下代码返回“未知方法匹配”:

XML_Doc:=CreateOleObject('Msxml2.DOMDocument.6.0') as IXMLDOMDocument3;
XML_DOC.selectNodes('/DATI/DATO[matches(TEST_TAG,"\bTest\b")]');

示例 XML 文件

<DATI>
<DATO>
<TEST_TAG>Test</TEST_TAG>
</DATO>
<DATO>
<TEST_TAG>Test21</TEST_TAG>
</DATO>
<DATO>
<TEST_TAG>Abc</TEST_TAG>
</DATO>
</DATI>

最佳答案

matches 是 XPath 2,而 Msxml 仅支持 XPath 1。
据我所知,Delphi 没有支持 XPath 2 的库。 (虽然我为Freepascal写了一个XPath 2库,但是移植起来应该不那么困难)

你可以使用

/DATI/DATO[not(contains(TEST_TAG," "))]

查找不包含空格的单词,即 XPath 1。

关于delphi - XPATH 中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12455480/

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