Keresés

Új hozzászólás Aktív témák

  • Karma
    félisten

    :R

    XML getElements-ben kérnék megint segítséget.
    W3School példák (bookstore) alapján azt hittem az xmlDoc.getElementsByTagName('név')[0].childNodes[0].nodeValue paranccsal megkaphatom az értékét adott sorszámú izé, node-nak.
    Úgy értelmeztem, hogy a childNode[0].nodeValue, ami ha a Tag csak egy karakterláncból áll, akkor visszaadja, ami a <tag></tag> között van. És childNodes[1].nodeValue esetén már azt adja vissza, ami itt van: <tag><első elem></első elem></tag>. (Majd a childNodes[3] adja vissza a második elemet, stb. Illetve úgy értelmeztem, hogy a childNodes[2] meg az első elem utáni - és így tovább - karakterláncot adná vissza tag-estül mindenestül.)

    De undefined az eredményem. :(
    Szóval a primitív tag-eket le tudom kérni, de hogy kell hivatkozni a struktúrált adatokra, mint az alábbi példában?
    <location>
    <lat>szélességi fok</lat>
    <lng>hosszúsági fok</lng>
    </location>
    Itt a "location" tag-re szeretnék hivatkozni, mert az az egyedi, lat és lng többször is előfordul a táblázatban.

    Így próbáltam először:

    var loc = xmlDoc.getElementsByTagName('location')[0].childNodes[1].nodevalue + ',' + xmlDoc.getElementsByTagName('Location')[0].childNodes[3].nodeValue

    Persze sikertelenül. Egyesével se ad vissza semmit semmilyen childNode sorszámmal.

    Nem jó a nodeValue, mert a koordináta nem az lng element értéke, hanem van neki egy text node gyereke. Ha az lng-ig eljutottál, használd a textContent mezőt, és nem kell kibogarásznod ezt a szintet.

    Egyszerűen egyébként sok getElementsByTagName hívással tudod pontosan megkeresni azt aki neked kell (így elkerülöd azt, hogy ha nincs whitespace a válaszban, összetörik a parsered) - de igazából sokkal jobb lenne áttérni a JSON formátumra. Most már sejtheted, hogy miért.

    (Összehasonlításképp: res.results[0].geomerty.location.lng a JSON objektumból kivenni ugyanezt.)

    Egyébként itt egy fiddle amivel ezt kísérleteztem. Egyszerűbb mint telefonon :)

Új hozzászólás Aktív témák