Найти узел XML с помощью jQuery и использовать его значения - PullRequest
4 голосов
/ 02 июля 2011

Я использую XML-файл, например, такой:

<Test>
    <Unit>
        <Title>Test 1</Title>
        <Date>01/07/2011</Date>
        <Content format="html"><![CDATA[Here goes some content]]></Content>
    </Unit>

    <Unit>
        <Title>Testing New XML</Title>
        <Date>27/06/2011</Date>
        <Content format="html"><![CDATA[Here goes some content]]></Content>
    </Unit>
    <!-- A lot of stuff like this -->
</Test>

Я хочу использовать jQuery для поиска в XML-документе заданного <Title> и получения всего его <Unit>, чтобыработать со значениями, как это:

function append(title, date, content) {
    $("#Unit").append("<h1 id='title'><b>" + title + "</b></h1><h2 id='date'>" + date + "</h2><p>" + content + "</p>");
}

Как я могу это сделать?

PS: я использовал этот в качестве основы моегоЧтение XML

Ответы [ 3 ]

4 голосов
/ 27 июля 2011

Это то, что вы ищете? Нажмите здесь (ссылка jsFiddle)

В этом коде вам нужно сначала получить XML и сохранить его в переменной, как я. Код может быть не совсем то, что вы ищете, но это может быть хорошей отправной точкой. Поиграйте с кодом и дайте мне знать, если это то, что вы ищете или нет.

Вы также можете попробовать это (тот же код, что и у ссылки jsFiddle, но просто использовать оповещения вместо добавления данных в DOM)

var xml = "<Test><Unit><Title>Test 1</Title><Date>01/07/2011</Date><Content format='html'>some content here</Content></Unit><Unit><Title>Testing New XML</Title><Date>27/06/2011</Date><Content format='html'>some more content here</Content></Unit></Test>";

$(xml).find("Unit").each(function(){
    if($(this).find("Title").length > 0){
        var unitData = $(this).text();
        alert(unitData);
    }
});

Это должно дать вам два предупреждения.

2 голосов
/ 02 июля 2011

$("#Unit") выбирает все элементы с идентификатором "unit".

Чтобы выбрать все элементы Unit, используйте $("Unit")

Edit: если у вас есть элемент Title в переменной, вы можетеполучить единицу, используя $(myTestVariable).closest("Unit")

1 голос
/ 02 июля 2011

Селектор #Unit ищет узлы с атрибутом id, равным "Unit".

Вам необходим селектор Unit, который ищет Unit узлы.

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