Najnowsze tutoriale tworzenie stron internetowych
 

XML DOM Get wartości węzłów


Nieruchomość nodeValue jest używany, aby uzyskać wartość tekstową węzła.

getAttribute() Metoda zwraca wartość atrybutu.

×

nagłówek


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:

Przykład

x = xmlDoc.getElementsByTagName("title")[0];
txt = x.getAttribute("lang");
Spróbuj sam "

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