2010-02-06 5 views
2

У меня есть XML-файл в следующем формате:получить значение из XML-файла в JavaScript

<containers> 
    <container> 
     <item> 
      item name 
     </item> 
     <item> 
      item name 
     </item> 
     <item> 
      item name 
     </item> 
    </container> 
    <container> 
     <item> 
      item name 
     </item> 
    </container> 
</containers> 

Мне нужно использовать JavaScript, чтобы получить имя первого элемента во втором контейнере. Я собирался использовать xmldoc.getElementsByTagName("item")[3].childNodes[0].nodeValue;, но у меня нет способа узнать, сколько предметов будет в первом контейнере, поэтому я ищу способ выбрать второй контейнер, а затем имя элемента.

ответ

1

Сначала выберите теги контейнера. Если у вас есть два или более тега контейнера, возьмите первый дочерний узел второго контейнера. Что-то вроде этого (может и не быть точным, не проверял):

var containers = xmldoc.getElementsByTagName("container"); 
if (containers.length >= 2) 
{ 
    var items = containers[1].getElementsByTagName("item"); 
    if (items.length > 0) 
    { 
    //your item is items[0] 
    } 
} 
+0

Я думаю, что это именно то, что я искал, чтобы вернуть меня в нужное русло. Имел ментальный блок и до сих пор не смог пройти мимо него. Спасибо! – Hintswen

+0

Без проблем, рад помочь. – wsanville

+0

Есть ли способ различать контейнер в контейнере? например. если у этого первого контейнера есть контейнер внутри него, у которого есть индекс 1 ... – Hintswen