Получить конкретный узел xml с атрибутом xml: id - PullRequest
0 голосов
/ 19 октября 2018

Я использую 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"] в порядке, а не xml: id?Это как-то связано с толстой кишкой?Мне действительно нужно получить доступ к дочерним элементам div с определенным атрибутом xml: id.

1 Ответ

0 голосов
/ 20 октября 2018

Ответ был относительно прост: мне пришлось бежать через двоеточие с \\, поэтому:

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

работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...