Nieruchomość nodeValue jest używany, aby uzyskać wartość tekstową węzła.
getAttribute() Metoda zwraca wartość atrybutu.
Uzyskać wartość elementu
W DOM, wszystko jest węzeł. Element węzły nie mają wartość tekstową.
Wartość Text węzła element jest przechowywana w węźle podrzędnym. Węzeł ten jest nazywany węzłem tekstu.
Aby pobrać wartość tekstową elementu, należy pobrać wartość węzła tekstowego elementów ".
Metoda getElementsByTagName
getElementsByTagName() Metoda zwraca listę węzłów wszystkich elementów, o określonej nazwie znacznika, w tej samej kolejności, w jakiej pojawiają się w dokumencie źródłowym.
Załóżmy, że " Books.xml " został załadowany do xmldoc.
Ten kod pobiera pierwszy <title> elementu:
var x = xmlDoc.getElementsByTagName("title")[0];
ChildNodes nieruchomości
Nieruchomość childNodes zwraca listę węzłów potomnych elementu.
Poniższy kod pobiera węzeł tekstowy pierwszego <title> element:
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
NodeValue nieruchomości
Nieruchomość nodeValue zwraca wartość tekstową węzła tekstowego.
Poniższy kod pobiera wartość tekstową węzła tekstu pierwszego <title> element:
Przykład
x = xmlDoc.getElementsByTagName("title")[0];
y = x.childNodes[0];
z = y.nodeValue;
Resul się z: "Everyday Italian"
Kompletny przykład
Przykład
<!DOCTYPE html>
<html>
<body>
<p id="demo"></p>
<script>
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (xhttp.readyState == 4 && xhttp.status == 200) {
myFunction(xhttp);
}
};
xhttp.open("GET",
"books.xml", true);
xhttp.send();
function myFunction(xml) {
var xmlDoc = xml.responseXML;
var x = xmlDoc.getElementsByTagName('title')[0];
var y =
x.childNodes[0];
document.getElementById("demo").innerHTML = y.nodeValue;
}
</script>
</body>
</html>
Spróbuj sam " Pętla przez wszystkie <title> elementów: Spróbuj sam
Uzyskać wartość atrybutu
W DOM, atrybuty są węzłami. W przeciwieństwie do węzłów elementu, węzły mają wartości atrybutów tekstowych.
Sposób, aby uzyskać wartość atrybutu, jest uzyskanie jej wartość tekstową.
Można to zrobić za pomocą getAttribute() Metoda lub za pomocą właściwości nodeValue węzła atrybutu.
Uzyskać wartość atrybutu - getAttribute()
getAttribute() metoda zwraca attribute's value .
Poniższy kod pobiera wartość tekstową "lang" atrybutu pierwszego <title> element:
Wynik txt: "en"
Pętla przez wszystkie <book> elementy i uzyskać ich "category" atrybuty: Spróbuj sam
Uzyskać wartość atrybutu - getAttributeNode()
getAttributeNode() metoda zwraca attribute node .
Poniższy kod pobiera wartość tekstową "lang" atrybutu pierwszego <title> element:
Przykład
x = xmlDoc.getElementsByTagName("title")[0];
y = x.getAttributeNode("lang");
txt = y.nodeValue;
Spróbuj sam " Wynik txt = "en"
Pętla przez wszystkie <book> elementy i uzyskać ich "category" atrybuty: Spróbuj sam