我可以使用XPath获取XML格式的处理指令的内容吗?
我有一个非常简单的XML片段,它存储在需要更新的文件中。我可以使用XPath获取XML格式的处理指令的内容吗?,xml,xpath,Xml,Xpath,我有一个非常简单的XML片段,它存储在需要更新的文件中。 不幸的是,这是一个我需要更新的处理指令 我是否可以使用XPath获取处理指令的内容,或者至少是部分内容 例如: <Include> <?define Version="2.0"?> </Include> 我需要得到“Version”的值。我认为你不能得到“2.0”。您可以在单个值中获取“Version=”2.0“,然后从中手动提取“2.0”。它是xml规范的一部分。如果希望获得2.0,请
不幸的是,这是一个我需要更新的处理指令 我是否可以使用XPath获取处理指令的内容,或者至少是部分内容 例如:
<Include>
<?define Version="2.0"?>
</Include>
我需要得到“Version”的值。我认为你不能得到“2.0”。您可以在单个值中获取“Version=”2.0“,然后从中手动提取“2.0”。它是xml规范的一部分。如果希望获得2.0,请确保使用 加工中的“属性” 指令实际上并不是 属性——它们看起来就像 他们。诺拉马里人指的是这些 “属性”的种类 “伪属性”强调了这一点 事实至于XPath数据模型 是有关,你唯一的信息 可以了解一条处理指令 是它的目标、价值和价值 节点树中的位置 因此,您可以使用
/Include/processing-instruction('define')
但得到的只是一个值为Version=“2.0”
(作为字符串)的节点,然后必须自己解析它。此XPath表达式:
substring-before(
substring-after(
/Include/processing-instruction('define'),
'Version="'
),
'"'
)
计算字符串:'2.0'