获取具有 xml:id 属性的特定 xml 节点

Get specific xml node with xml:id attribute

提问人:HBMCS 提问时间:10/19/2018 最后编辑:HBMCS 更新时间:10/20/2018 访问量:385

问:

我正在使用 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”时,我没有问题获得我想要的东西(使用 )。但是jquery似乎不喜欢这个表达式:.attr("ref")

'div[xml:id="pe007"]'

事实上,我明白了

Error: Syntax error, unrecognized expression: div[xml:id="pe007"] > surname

为什么 div[ref=“pe007”] OK 而不是 xml:id?这与结肠有关吗?我确实需要访问具有特定 xml:id 属性的 div 的子级。

JavaScript jQuery XML 解析

评论


答:

1赞 HBMCS 10/20/2018 #1

答案相对简单:我必须用 来逃避冒号,所以:\\

var surname = $(xml).find('div[xml\\:id="pe007"] > surname').text();

工程。