Thread: XML namespaces

  1. #1
    holycrap007's Avatar
    Registered
    16/11/03
    Location
    Hove
    Posts
    73
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0

    XML namespaces

    Om XML in te laden:

    <script type="text/javascript">
    if (window.XMLHttpRequest)
    {
    xhttp=new XMLHttpRequest();
    }
    else // Internet Explorer 5/6
    {
    xhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }
    xhttp.open("GET","note.xml",false);
    xhttp.send("");
    xmlDoc=xhttp.responseXML;



    document.getElementById("title").innerHTML=xmlDoc. getElementsByTagName('h:title')[0].childNodes[0].nodeValue;
    document.getElementById("content_home").innerHTML= xmlDoc.getElementsByTagName('h:body')[0].childNodes[0].nodeValue;



    </script>



    getElementsByTagName('h:title') werkt niet,
    getElementsByTagName('title') werkt wel.

    In mijn xml staat het volgende

    <?xml version="1.0" encoding="utf-8"?>
    <root
    xmlns:h=”http://www.w3.org/TR/html4/”
    xmlns:g=”Jurgen Dedeckere - LinkedIn >

    <h:content>
    <h:title>Home</h:title>
    <h:body>This is my homepage</h:body>
    </h:content>

    <g:content>
    <g:title>Gallery</g:title>
    <g:body>This is my gallery</g:body>
    </g:content>
    </root>


    Enig idee wat hier aan de hand is?
    no votes  

  2. #2
    phil_r's Avatar
    Registered
    19/12/09
    Location
    Antwerpen
    Posts
    51
    iTrader
    0
    Mentioned
    0 Post(s)
    je moet ook dit gebruiken denk ik:
    getElementsByTagNameNS("http://www.w3.org/TR/html4/","h")

    vervolgens heb je een node tree waar je "title" ergens inzit, dan vind je het wel ;-)
    Regards Phil
    no votes  

  3. #3
    holycrap007's Avatar
    Registered
    16/11/03
    Location
    Hove
    Posts
    73
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    en waar moet da lijntje juist staan?

    ik ben hier niet goed in, dus een stukje code als voorbeeld zou handig zijn
    no votes  

  4. #4
    phil_r's Avatar
    Registered
    19/12/09
    Location
    Antwerpen
    Posts
    51
    iTrader
    0
    Mentioned
    0 Post(s)
    Hier:
    Code:
    var nodes = xmlDoc.getElementsByTagNameNS("http://www.w3.org/TR/html4/","h");
    
    document.getElementById("title").innerHTML= nodes[0].childNodes[0].childNodes[0].nodeValue;
    Het kan zijn dat "nodes[0].childNodes[0].childNodes[0].nodeValue;" nog niet diep genoeg is in de nodes-tree.

    Het ding is dat je dus een lijst hebt met alle elementen uit de namespace 'h' en daaruit dan je title element haalt, of gewoon zoals je deed getElementByTagName de title halen is eigenlijk nog makkelijker
    Regards Phil
    no votes  

  5. #5
    Jerre Muesli's Avatar
    Registered
    08/09/02
    Location
    -
    Posts
    2,044
    iTrader
    9 (100%)
    Mentioned
    0 Post(s)
    Reputation
    3/6
    parse gewoon u xml met xslt. Veel simpeler dan met zaken als nodes[0].childNodes[0].childNodes[0].nodeValue te beginnen
    no votes  

  6. #6
    holycrap007's Avatar
    Registered
    16/11/03
    Location
    Hove
    Posts
    73
    iTrader
    1 (100%)
    Mentioned
    0 Post(s)
    Reputation
    0/0
    nog steeds zelfde probleem, div 1 werkt, div 2 niet
    no votes  

  7. #7
    Jerre Muesli's Avatar
    Registered
    08/09/02
    Location
    -
    Posts
    2,044
    iTrader
    9 (100%)
    Mentioned
    0 Post(s)
    Reputation
    3/6
    install firefox + firebug en doe een console.log(xmlDoc. getElementsByTagName('h:title'));
    dan kunt ge in het object zoeken naar wat ge nodig hebt
    no votes  

  8. #8
    phil_r's Avatar
    Registered
    19/12/09
    Location
    Antwerpen
    Posts
    51
    iTrader
    0
    Mentioned
    0 Post(s)
    Quote Originally Posted by holycrap007 View Post
    This quote is hidden because you are ignoring this member. Show
    nog steeds zelfde probleem, div 1 werkt, div 2 niet
    je hebt toch niks over een div gezegt?
    In ieder geval als je een div hebt zoals dit:
    <div id="h:title">
    weet ik niet of javascript dat met : kan verwerken
    Het is af te raden dat te doen.

    Voor in je xml, voor namespaces mag het uiteraart wel,
    of in html gelijk dit <h:div> maar ik neem aan dat je het html schema niet gaat aanpassen
    Regards Phil
    no votes  

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Log in

Log in