gpt4 book ai didi

xml - 如何替换XPath中的字符实体?

转载 作者:行者123 更新时间:2023-12-03 17:27:48 24 4
gpt4 key购买 nike

使用libxml2,是否可以用XPath表达式中的相应字符替换标准字符实体(<>'"&)?

例如,我想这样做:


math[contains(., '1 &lt; 2')搜索包含1 < 2的内容
item[@id="3&quot; bracket"]搜索值为3" bracket的属性


默认情况下,在解析XML时,libxml2可以方便地替换这些实体,但在评估XPath表达式时则不是。有没有一种方法可以启用XPath的替换?

(编辑:我在libxml2的documentation about entities中看不到有关XPath的任何信息。)

(编辑:如果没有办法做到这一点,那么我会接受为什么不这样做的解释。libxml2在XML的实现中看起来相当彻底,因此我怀疑如果不支持此功能,那可能是故意的选择或我的建议有问题。)

最佳答案

不,原因是XPath的词法定义独立于XML。 XPath本身可以包含文字<&字符,而与XML中的特殊用途没有冲突,因此XPath不需要字符实体。

当在XML(例如XSLT)中使用XPath时,是XML解析要求对<&进行转义,而XML解析器则为应用程序(包括XPath库)提供了字符串。 XPath表达式的值,其中字符实体扩展为它们的文字定义。

关于xml - 如何替换XPath中的字符实体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42377237/

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