Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

[js] xml nodeValue

_arno_
2 antwoorden
  • Ik krijg van mijn javascript het nodeValue null terug, na wat googlen komt eruit dat het een element (type) is.
    Nu bljikt dat nodeValue alleen returned als de node een string is.

    Kan ik dit converteren op 1 of andere manier, of moet ik het anders benaderen?

    XML
    [code:1:174b0f3b63]
    <?xml version='1.0'?>
    <document>
    <messages>
    <message>
    <username>arno</username>
    <message>aaaaaaa</message>
    </message>
    <message>
    <username>arno</username>
    <message>aaaaaaa</message>
    </message>
    </messages>
    </document>
    [/code:1:174b0f3b63]

    JavaScript
    [code:1:174b0f3b63]
    function RequestInfo()
    {
    xmlHttp.open("GET", url , true)
    xmlHttp.onreadystatechange = Parse;
    xmlHttp.send(null)
    }

    function Parse() {
    if (xmlHttp.readyState == 4) {
    var xmlObj = xmlHttp.responseXML;
    var roots = xmlObj.getElementsByTagName('messages');
    for (var i = 0; i < roots.length; i++) {
    for (var j = 0; j < roots[i].childNodes.length; j++) {

    for (var k = 0; k < roots[i].childNodes[j].childNodes.length; k++) {
    alert(roots[i].childNodes[j].childNodes[k].nodeValue);
    }
    }
    }
    //document.getElementById("base").innerHTML = '';
    }
    }[/code:1:174b0f3b63]
  • De element-node bevat nog een text-node. Je kan dus het volgende doen om de waarde op te halen
    [code:1:1996d05417]
    alert(roots[i].childNodes[j].childNodes[k].firstChild.nodeValue);
    [/code:1:1996d05417]
    Tenminste, in theorie, ik heb het niet getest ;)

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.