Je ne peux pas comprendre comment accéder aux données entre les balises imbriquées internes. Quand je lance ce javascript, tout ce que je vois est "Null".xml parsing dom
Voici ce que mon fichier xml nommé "bboard.xml" ressemble à:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- Designed by Someone -->
<bulletinboard>
<article>
<title lang="en"><h2>eeeeeeeeegg #1</h2></title>
<detail><span class="detail">aaaaapple</span><a href="../data/csr.html#artcl1"> ...more </a></detail>
<date>12/09/09</date>
</article>
</bulletinboard>
Voici le javascript nommé "loadxmldoc.js":
function loadXMLDoc(dname)
{
try //Internet Explorer
{
xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
}
catch(e)
{
try //Firefox, Mozilla, Opera, etc.
{
xmlDoc=document.implementation.createDocument("","",null);
}
catch(e) {alert(e.message)}
}
try
{
xmlDoc.async=false;
xmlDoc.load(dname);
return(xmlDoc);
}
catch(e) {alert(e.message)}
return(null);
}
Et enfin, voici la page HTML réelle où je veux afficher le résultat de javascript. Il est appelé « javdemo.html »:
<html>
<head>
<script type="text/javascript" src="loadxmldoc.js">
</script>
</head>
<body>
<div>
<script type="text/javascript">
xmlDoc=loadXMLDoc("bboard.xml");
var x=xmlDoc.getElementsByTagName("title");
var y=xmlDoc.getElementsByTagName("detail");
var z=xmlDoc.getElementsByTagName("date");
document.write("<h4>"+"A Live Bulletin Board"+"</h4>");
for (i=0;i<x.length;i++)
{
document.write("<h1>"+x[i].childNodes[0].nodeValue+"</h1>");
document.write(y[i].childNodes[0].nodeValue);
document.write(z[i].childNodes[0].nodeValue);
document.write("<p>"+" "+"</p>");
// document.write("</div>")
}
</script>
</div>
</body>
</html>
Ce ne sera probablement pas montrer le code complet dans votre navigateur. En passant, comment échapper les balises html ici sur le débordement de la pile?
Quelle est exactement la sortie désirée?Est-ce '
eeeeeeeeegg # 1
aaaaapple12/09/09'? –Oui. La sortie doit être eeeeeeeeeegg et aaaaaple lors du rendu. – megatr0n