使用 xml:id 属性获取特定的 xml 节点
Posted
技术标签:
【中文标题】使用 xml:id 属性获取特定的 xml 节点【英文标题】:Get specific xml node with xml:id attribute 【发布时间】:2019-03-24 12:11:34 【问题描述】:我正在使用 jquery 来获取节点的值和文本。
这是我的 .xml:
<div xml:id = "pe007">
<persName>
<surname>Smith</surname
</persName>
</div>
这是我的 js 代码:
$.ajax(
type: "GET",
url: "myfile.xml",
dataType: "xml",
success: function (xml)
var surname = $(xml).find('div[xml:id="pe007"] > surname').text();
);
我已经知道如何获取节点的文本和值。我只想选择一个特定的节点。当属性类似于“ref”时,我没有得到我想要的东西的问题(使用.attr("ref")
)。但是jquery似乎不喜欢这种表达方式:
'div[xml:id="pe007"]'
其实我明白了
Error: Syntax error, unrecognized expression: div[xml:id="pe007"] > surname
为什么 div[ref="pe007"] OK 而不是 xml:id?跟结肠有关系吗?我真的需要访问具有特定 xml:id 属性的 div 的子级。
【问题讨论】:
【参考方案1】:答案比较简单:我必须用\\
转义冒号,所以:
var surname = $(xml).find('div[xml\\:id="pe007"] > surname').text();
有效。
【讨论】:
以上是关于使用 xml:id 属性获取特定的 xml 节点的主要内容,如果未能解决你的问题,请参考以下文章
从 xmlDocument 中选择特定的 xml 节点,然后更改 xml 节点的属性
使用正则表达式从字符串中删除属性值不是特定值的所有 xml 节点
如何在 Java 中使用 XPath 从 XML 中获取特定节点?
GroovyXml 反序列化 ( 使用 XmlParser 解析 Xml 文件 | 获取 Xml 文件中的节点和属性 | 获取 Xml 文件中的节点属性 )