XML DOM replace node

replaceChild() metoden ersätter specificerade noder.

nodeValue-attributet ersätter text i textnoden.

Exempel

Följande exempel använder XML-filer books.xml.

Funktion loadXMLDoc(),som ligger i extern JavaScript, används för att ladda XML-filer.

Ersätt elementnod
Detta exempel använder replaceChild() för att ersätta den första <book>-noden.
Ersätt data i textnoden
Detta exempel använder nodeValue-attributet för att ersätta data i textnoden.

Ersätt elementnod

replaceChild() metoden används för att ersätta noder.

Följande kodsnutt ersätter den första <book>-elementen:

xmlDoc=loadXMLDoc("books.xml");
x = xmlDoc.documentElement;
//Skapa en book-element, en title-element och en textnod
newNode = xmlDoc.createElement("book");
newTitle = xmlDoc.createElement("title");
newText = xmlDoc.createTextNode("Hello World");
//Lägg till textnoden till title-noden
newTitle.appendChild(newText);
//Lägg till title-noden till book-noden
newNode.appendChild(newTitle);
y = xmlDoc.getElementsByTagName("book")[0];
//Använd denna nya nod för att ersätta den första book-noden
x.replaceChild(newNode, y);

Exempel förklaring:

  • Genom att använda loadXMLDoc() Ladda "books.xml" Ladda xmlDoc"
  • Skapa en ny elementnod <book>
  • Skapa en ny elementnod <title>
  • Skapa en ny textnod med texten "Hello World"
  • Lägg till denna nya textnod till den nya elementnoden <title>
  • Lägg till denna nya elementnod <title> till den nya elementnoden <book>
  • Ersätt den första <book>-elementnoden med en ny <book>-elementnod

TIY

Ersätt data i textnoden

replaceData() metoden används för att ersätta data i textnoden.

replaceData() metoden har tre parametrar:

  • offset - Var tecknen börjar ersättas. Offset-värdet börjar vid 0.
  • length - Antalet tecken som ska ersättas
  • string - Strängen som ska infogas
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"hello");

Exempel förklaring:

  • Genom att använda loadXMLDoc() Ladda "books.xml" Ladda xmlDoc"
  • Hämta textnoden för den första <title>-elementnoden
  • Använd replaceData-metoden för att ersätta de första 8 tecknen i textnoden med "hello"

TIY

Använd nodeValue-attributet

Det är enklare att ersätta textnodens data med nodeValue-attributet.

Följande kodsnutt kommer att ersätta textnoden för det första <title>-elementet med "Easy Italian":

xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Hello World";

Exempel förklaring:

  • Genom att använda loadXMLDoc() Ladda "books.xml" Ladda xmlDoc"
  • Hämta textnoden för den första <title>-elementnoden
  • Använd nodeValue-attributet för att ändra textnodens text

TIY

Du kan Ändra nod Läs mer om att ändra nodvärden i detta avsnitt.