【问题标题】:Get specific xml node with xml:id attribute使用 xml:id 属性获取特定的 xml 节点
【发布时间】: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 的子级。

【问题讨论】:

    标签: javascript jquery xml xml-parsing


    【解决方案1】:

    答案比较简单:我必须用\\ 转义冒号,所以:

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

    有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多