Thread: XML namespaces
-
22-12-2009, 16:15 #1Member
- 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
-
-
22-12-2009, 18:16 #2
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 Philno votes
-
22-12-2009, 19:46 #3Member
- 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 zijnno votes
-
22-12-2009, 19:56 #4
Hier:
Het kan zijn dat "nodes[0].childNodes[0].childNodes[0].nodeValue;" nog niet diep genoeg is in de nodes-tree.Code:var nodes = xmlDoc.getElementsByTagNameNS("http://www.w3.org/TR/html4/","h"); document.getElementById("title").innerHTML= nodes[0].childNodes[0].childNodes[0].nodeValue;
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 makkelijkerRegards Philno votes
-
22-12-2009, 20:19 #5Member
- 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
-
22-12-2009, 21:02 #6Member
- 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
-
23-12-2009, 21:16 #7Member
- 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 hebtno votes
-
23-12-2009, 22:15 #8
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 Philno votes

