Hoe haal ik de juiste tagName uit een xml bestand?

Status
Niet open voor verdere reacties.

Tijger81

Gebruiker
Lid geworden
2 jan 2010
Berichten
397
Hallo,
Hoe kan ik de juiste tagname eruit krijgen? Ik wil bijvoorbeeld alleen de Title tag uit de genre tag hebben.

cd_catalog.xml:
XML version
<book>
<Title>Pietjepuk</Title>
</book>
<genre>
<Title>Pietjepuk</Title>
</genre>


Ik heb dit tot nu toe: maar ik krijg alle Title tags. Volgens mij moet ik iets met getchild doen...

<!DOCTYPE html>
<html>
<body>
<h2>My CD Collection:</h2>

<button type="button" onclick="loadXMLDoc()">
Get my CD collection</button>

<p id="demo"></p>

<script>
function loadXMLDoc() {
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
myFunction(xmlhttp);
}
};
xmlhttp.open("GET", "cd_catalog.xml", true);
xmlhttp.send();
}

function myFunction(xml) {
var x, i, xmlDoc, txt;
xmlDoc = xml.responseXML;
txt = "";
x = xmlDoc.getElementsByTagName("Title");
for (i = 0; i< x.length; i++) {
txt += x.childNodes[0].nodeValue + "<br>";
}
document.getElementById("demo").innerHTML = txt;
}
</script>

</body>


Wie kan mij op weg helpen??
</html>
 
Hoi.
Bedankt voor je antwoord. Het is al gelukt. Ik kreeg dubbele namen, want title kwam bij dezelfde naam 2x voor, maar nu heb ik met JavaScript dubbele uit #demo laten filteren.

Code:
// Verwijder dubbele uit keuze menu		  		  
		  var list = document.getElementById("layer");
			var listItems = list.getElementsByTagName("option"); 
			var newList = [];

			var filterDupes = function(parent, items, hash) {
				for (var i = 1; i < items.length; i++) {
			if (hash.indexOf(items[i].innerText) < 0) {
			hash.push(items[i].innerText);
			} else {
			parent.removeChild(items[i]);
			}
			}
			};
			filterDupes(list, listItems, newList);
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan