使用xml:id属性获取特定的xml节点

时间:2018-10-19 15:04:23

标签: javascript jquery xml xml-parsing

我正在使用jquery来获取节点的值和文本。

这是我的.xml:

@Binds
@IntoMap
@ViewModelKey(MyViewModel.class)
abstract ViewModel bindMyViewModel(MyViewModel viewModel);

这是我的js代码:

<div xml:id = "pe007">
<persName>
<surname>Smith</surname
</persName>
</div>

我已经知道如何获取节点的文本和值。我只想选择一个特定的节点。当该属性类似于“ ref”时,我就没有问题($.ajax({ type: "GET", url: "myfile.xml", dataType: "xml", success: function (xml) { var surname = $(xml).find('div[xml:id="pe007"] > surname').text(); }}); )。但是jquery似乎不喜欢这个表达式:

.attr("ref")

事实上我知道了

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

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

1 个答案:

答案 0 :(得分:0)

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

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

有效。