Récupérer les informations d'un fichier XML
Bonjour à tous,
Je souhaite récupérer les informations d'un document XML à l'aide d'un script (DOM), mon code me retourne l'erreur "xmlhttp is not defined".
Je ne suis pas programmeur à la base et il se peut que mon erreur soit une erreur de débutant. Je bloque depuis quelques jours dessus, essaye des choses trouvées sur le web mais ne trouve pas de solution.
Voici mon fichier XML:
Bra.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| <?xml version='1.0' ?>
<EL>
<BRANCHES>
<BRA ID = "BRA0001">
<SEGMENT>BNS0088</SEGMENT>
<SEGMENT>BNS0090</SEGMENT>
<SEGEXT>DER0001</SEGEXT>
<SEGEXT>EXT0038</SEGEXT>
<ASROUTEBR>11M</ASROUTEBR>
<ENVIRONMENTS>
<ENVIRONMENTTYPE>PRESSURISED</ENVIRONMENTTYPE>
</ENVIRONMENTS>
<ROUTECODE>11M</ROUTECODE>
<LENGTH>784.006</LENGTH>
<DIAMETER>6.0</DIAMETER>
<BENDRADIUS>18.0</BENDRADIUS>
<BRA_GEOM>
<INFO3D_COORD>
<Point X = "12856.940" Y = "-2809.882" Z = "-116.364"/>
<Vector X = "-0.17955" Y = "-0.69185" Z = "0.69936"/>
</INFO3D_COORD>
<INFO3D_COORD>
<Point X = "12840.315" Y = "-2851.720" Z = "-55.351"/>
<Vector X = "-0.28422" Y = "-0.14765" Z = "0.94732"/>
</INFO3D_COORD>
<INFO3D_COORD>
<Point X = "12836.622" Y = "-2853.641" Z = "-43.036"/>
<Vector X = "-0.28383" Y = "-0.14802" Z = "0.94738"/>
</INFO3D_COORD>
<INFO3D_COORD>
<Point X = "12882.119" Y = "-2894.158" Z = "121.646"/>
<Vector X = "1.00000" Y = "0.00002" Z = "-0.00003"/>
</INFO3D_COORD>
<MIDDLE_POINT>
<Point X = "12967.780" Y = "-2886.374" Z = "83.137"/>
</MIDDLE_POINT>
</BRA_GEOM>
</BRA>
</BRANCHES>
</EL> |
Et voici mon code js:
Bra.js
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
myFunction(this);
}
};
xmlhttp.open("GET", "Bra.xml", true);
xmlhttp.send();
function myFunction(xml) {
var x, y, i, xmlDoc, txt;
xmlDoc = xml.responseXML;
txt = "";
x = xmlDoc.documentElement;
y = xmlDoc.documentElement.childNodes;
for(i = 0; i < y.length; i++) {
if (y[i].nodeType != 3 && y[i].nodeType != 9) {
txt += "Nodename: " + y[i].nodeName +
" (value: " + y[i].childNodes[0].nodeValue + ")<br>";
}
for(z = 0; z < y[i].childNodes.length; z++) {
if (y[i].childNodes[z].nodeType != 3) {
txt += "Nodename: " + y[i].childNodes[z].nodeName +
" (value: " + y[i].childNodes[z].childNodes[0].nodeValue + ")<br>";
}
}
}
document.getElementById("Bra").innerHTML =
"Nodename: " + xmlDoc.nodeName +
" (value: " + xmlDoc.childNodes[0].nodeValue + ")<br>" +
"Nodename: " + x.nodeName +
" (value: " + x.childNodes[0].nodeValue + ")<br>" +
txt;
} |
Merci d'avance pour vos réponses.
Cordialement