Deel van XML naar javascript array

Status
Niet open voor verdere reacties.

gast0659

Gebruiker
Lid geworden
27 dec 2009
Berichten
42
Hoi,
Ik ben nu al een paar week bezig met het laden van een deel van een xml bestand, dat aangepast wordt door de uploads van gebruikers en dus variabel is, in een javascript array te krijgen. Ik probeer een deel van een xml bestand met de volgende opmaak:
Code:
    <answers>
      <answer id="0">hello</answer>
      <answer id="1">goodbye</answer>
    </answers>
in een javascript array, met de volgende opmaak te krijgen:
Code:
var FAnswers = new Array("hello","goodbye");

Het leek me, dat dit heel simpel moest gaan, maar na heel veel tutorials etc. van onder ander W3Schools ben ik er nog steeds niet achter hoe dit moet.
Is er hier dan misschien iemand die hier een eenvoudig scriptje voor heeft?
 
Van http://www.w3schools.com/dom/dom_parser.asp:
[JS]function stringToXML(text) {
var xmlDoc;
if (window.DOMParser) {
xmlDoc = (new DOMParser()).parseFromString(text, "text/xml");
}
else { // Internet Explorer
xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async = false;
xmlDoc.loadXML(text);
}
return xmlDoc;
}[/JS]

...en verder is dit vrij standaard voor het rommelen in een document ;)
[JS]var xmlDoc = stringToXML(' <answers>\n'
+ ' <answer id="0">hello</answer>\n'
+ ' <answer id="1">goodbye</answer>\n'
+ ' </answers>');

var answers = xmlDoc.getElementsByTagName("answer");
var FAnswers = [];
for (var i = 0; i < answers.length; i++) {
FAnswers.push(answers.textContent);
}[/JS]
 
Hoi,
Ik begrijp het stukje:
Code:
<answers>\n'
    + '      <answer id="0">hello</answer>\n'
    + '      <answer id="1">goodbye</answer>\n'
    + '    </answers>');

niet helemaal, moet ik hiervoor van te voren de waarden van de antwoorden weten?
 
Laatst bewerkt:
Oh, ik dacht dat je een string had waar XML in zou staan ;)

Als je 't uit een .xml-bestand wil halen gebruik je deze functie:

[JS]function getXML(url) {
var xhttp;
if (window.XMLHttpRequest) {
xhttp = new XMLHttpRequest();
}
else { // IE 5/6
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xhttp.open("GET", url, false);
xhttp.send();
return xhttp.responseXML;
}[/JS]

...met:
[JS]var xmlDoc = getXML("path/to/file.xml");([/JS]

De rest is hetzelfde
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan