rotalever
2010-01-02, 17:52:24
Hi,
wenn ich einen XMLHttpRequest mache, bekomme ich ja über .responseXML XML Dom zurück.
Wenn das zum Beispiel so aussieht:
<?xml version="1.0" encoding="utf-8"?>
<myxml>
<name>a</name>
<name>b</name>
<tag>
<name>c</name>
</tag>
</myxml>
Und ich jetzt alle Namen haben will, würde ich ja zum Beispiel sowas machen:
var doc = ajax.responseXML;
var namen = doc.getElementsByTagName("test")
for (var i = 0; i < namen.length; ++i)
{
alert(namen.item(i).firstChild.data);
}
Jetzt will ich aber den Namen c nicht haben. getElementsByTagName gibt mir aber leider immer alle Tags im kompletten Subtree zurück. Kann man in Javascript (Firefox reicht) auch irgendwie anders auf das XML zugreifen?
In PHP kann ich zum Beispiel mit SimpleXML so auf das XML zugreifen, dass ich immer den kompletten Pfad angebe.
Zum Beispiel
$xml->name[0], $xml->name[1]
oder $xml->tag->name[0]
wenn ich einen XMLHttpRequest mache, bekomme ich ja über .responseXML XML Dom zurück.
Wenn das zum Beispiel so aussieht:
<?xml version="1.0" encoding="utf-8"?>
<myxml>
<name>a</name>
<name>b</name>
<tag>
<name>c</name>
</tag>
</myxml>
Und ich jetzt alle Namen haben will, würde ich ja zum Beispiel sowas machen:
var doc = ajax.responseXML;
var namen = doc.getElementsByTagName("test")
for (var i = 0; i < namen.length; ++i)
{
alert(namen.item(i).firstChild.data);
}
Jetzt will ich aber den Namen c nicht haben. getElementsByTagName gibt mir aber leider immer alle Tags im kompletten Subtree zurück. Kann man in Javascript (Firefox reicht) auch irgendwie anders auf das XML zugreifen?
In PHP kann ich zum Beispiel mit SimpleXML so auf das XML zugreifen, dass ich immer den kompletten Pfad angebe.
Zum Beispiel
$xml->name[0], $xml->name[1]
oder $xml->tag->name[0]