XML DOM nahradit uzly
Metoda replaceChild() nahradí určený uzel.
Vlastnost nodeValue nahradí text v textovém uzlu.
Zkuste si to sami - příklady
Níže uvedené příklady používají soubor XML books.xml .
V tomto příkladu se k nahrazení prvního uzlu <book> používá funkce replaceChild().
Tento příklad používá vlastnost nodeValue k nahrazení dat v textovém uzlu.
Nahraďte uzel prvku
K nahrazení uzlu se používá metoda replaceChild() .
Následující fragment kódu nahrazuje první prvek <book>:
Příklad
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.documentElement;
//create a book element, title element and a text node
newNode=xmlDoc.createElement("book");
newTitle=xmlDoc.createElement("title");
newText=xmlDoc.createTextNode("A Notebook");
//add the text node to the title node,
newTitle.appendChild(newText);
//add the title node to the book node
newNode.appendChild(newTitle);
y=xmlDoc.getElementsByTagName("book")[0]
//replace the first book node with the new node
x.replaceChild(newNode,y);
Vysvětlený příklad:
- Načtěte " books.xml " do xmlDoc
- Vytvořte nový uzel prvku <book>
- Vytvořte nový uzel prvku <title>
- Vytvořte nový textový uzel s textem "Poznámkový blok"
- Připojte nový textový uzel k novému uzlu prvku <title>
- Připojte nový prvek uzel <title> k novému uzlu prvku <kniha>
- Nahraďte první uzel prvku <book> novým uzlem prvku <book>
Nahradit data v textovém uzlu
Metoda replaceData() se používá k nahrazení dat v textovém uzlu.
Metoda replaceData() má tři parametry:
- offset - Kde začít nahrazovat znaky. Hodnota offsetu začíná na nule
- délka – Kolik znaků má být nahrazeno
- string – Řetězec, který se má vložit
Příklad
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.replaceData(0,8,"Easy");
Vysvětlený příklad:
- Načtěte " books.xml " do xmlDoc
- Získejte textový uzel prvního uzlu prvku <title>
- Pomocí metody replaceData nahraďte prvních osm znaků z textového uzlu textem „Easy“
Místo toho použijte vlastnost nodeValue
Je jednodušší nahradit data v textovém uzlu pomocí vlastnosti nodeValue.
Následující fragment kódu nahradí hodnotu textového uzlu v prvním prvku <title> textem „Snadná italština“:
Příklad
xmlDoc=loadXMLDoc("books.xml");
x=xmlDoc.getElementsByTagName("title")[0].childNodes[0];
x.nodeValue="Easy Italian";
Vysvětlený příklad:
- Načtěte " books.xml " do xmlDoc
- Získejte textový uzel prvního uzlu prvku <title>
- Pomocí vlastnosti nodeValue změňte text textového uzlu
Více o změně hodnot uzlů si můžete přečíst v kapitole Změna uzlu .