Получить вложенный элемент из XML с помощью jQuery - PullRequest
0 голосов
/ 19 апреля 2010

Я просмотрел несколько примеров в Интернете, но все еще борюсь с этим. Я хотел бы получить значение для тега " descShort " внутри тега " indexDesc " и затем после этого отобразить значение из тега " last "? Я видел людей, использующих стрелку> но я все еще потерян.

<indices>
    <index>
        <code>DJI</code>
        <exchange>NYSE</exchange>
        <liveness>DELAYED</liveness>
        <indexDesc>
            <desc>Dow Jones Industrials</desc>
            <descAbbrev>DOW JONES</descAbbrev>
            <descShort>DOW JONES</descShort>
            <firstActive></firstActive>
            <lastActive></lastActive>
        </indexDesc>
        <indexQuote>
            <capital>
                <first>11144.57</first>
                <high>11153.79</high>
                <low>10973.92</low>
                <last>11018.66</last>
                <change>-125.9</change>
                <pctChange>-1.1%</pctChange>
            </capital>
            <gross>
                <first>11144.57</first>
                <high>11153.79</high>
                <low>10973.92</low>
                <last>11018.66</last>
                <change>-125.9</change>
                <pctChange>-1.1%</pctChange>
            </gross>
            <totalEvents>4</totalEvents>
            <lastChanged>16-Apr-2010 16:03:00</lastChanged>
        </indexQuote>
    </index>
    <index>
        <code>XAO</code>
        <exchange>ASX</exchange>
        <liveness>DELAYED</liveness>
        <indexDesc>
            <desc>ASX All Ordinaries</desc>
            <descAbbrev>All Ordinaries</descAbbrev>
            <descShort>ALL ORDS</descShort>
            <firstActive>06-Mar-1970</firstActive>
            <lastActive></lastActive>
        </indexDesc>
        <indexQuote>
            <capital>
                <first>5007.30</first>
                <high>5007.30</high>
                <low>4934.00</low>
                <last>4939.40</last>
                <change>-67.9</change>
                <pctChange>-1.4%</pctChange>
            </capital>
            <gross>
                <first>5007.30</first>
                <high>5007.30</high>
                <low>4934.00</low>
                <last>4939.40</last>
                <change>-67.9</change>
                <pctChange>-1.4%</pctChange>
            </gross>
            <totalEvents>997</totalEvents>
            <lastChanged>19-Apr-2010 17:02:54</lastChanged>
        </indexQuote>
    </index>
</indices>

1 Ответ

1 голос
/ 19 апреля 2010

«>» является селектором; Вы можете увидеть все доступные здесь: селекторы . "div> span" найдет все промежутки, у которых div как родители. Это отличается от «div span», который найдет все промежутки, которые являются потомками div.

var values = [];

$(yourXml).find('index').each(function () {
  var self = $(this);

  values.push({
    descShort: self.find('descShort:first').text(),
    capitalLast: self.children('capital').children('last').text(),
    grossLast: self.children('gross').children('last').text()
  });
});

values теперь представляет собой массив объектов, каждый из которых имеет свойства descShort, captialLast и grossLast.

К сожалению, я не могу проверить свой код.

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