Sdílet prostřednictvím


Úprava uzlů, obsahu a hodnot v dokumentu XML

Uzly a obsah v dokumentu můžete upravovat mnoha způsoby. Můžete provádět následující akce:

Jednoduchá technika pro změnu hodnoty uzlu je použít node.Value = "new value";. Následující tabulka uvádí typy uzlů, na které tento jediný řádek kódu funguje, a přesně jaká data pro daný typ uzlu se mění.

Typ uzlu Změna dat
Atribut Hodnota atributu.
CDATASection Obsah CDATASection.
Komentář Obsah komentáře.
Processinginstruction Obsah s výjimkou cíle.
Text Obsah textu.
XmlDeclaration Obsah deklarace, s výjimkou <?xml označení a ?> revizí.
Whitespace Hodnota prázdného místa. Hodnotu můžete nastavit jako jeden ze čtyř rozpoznaných znaků prázdných znaků XML: mezera, tabulátor, CR nebo LF.
SignificantWhitespace Hodnota významného prázdného místa. Hodnotu můžete nastavit jako jeden ze čtyř rozpoznaných znaků prázdných znaků XML: mezera, tabulátor, CR nebo LF.

Jakýkoli typ uzlu, který není uvedený v tabulce, není platným typem uzlu pro nastavení hodnoty. Nastavení hodnoty u jakéhokoli jiného typu uzlu vyvolá výjimku InvalidOperationException.

Vlastnost InnerXml změní kód podřízených uzlů pro aktuální uzel. Nastavení této vlastnosti nahradí podřízené uzly parsovaným obsahem daného řetězce. Analýza se provádí v aktuálním kontextu oboru názvů. Kromě toho InnerXml odebere redundantní deklarace oboru názvů. V důsledku toho mnoho operací vyjmutí a vložení nezvětší velikost dokumentu pomocí redundantních deklarací oboru názvů. Příklad kódu znázorňující účinek oborů názvů na InnerXml operaci, viz InnerXml vlastnost.

Při použití ReplaceData metod a RemoveChild metod vrátí nahrazený nebo odebraný uzel. Tento uzel je pak možné znovu vložit někam jinam v modelu DOM (Document Object Model) XML. Metoda ReplaceData provádí dvě kontroly ověření na uzlu, který se vkládá do dokumentu. První kontrola zajistí, že se uzel stane podřízeným uzlem, který může mít podřízené uzly svého typu. Druhá kontrola zajistí, že vložený uzel není nadřazeným uzlem, na který se stává podřízeným uzlem. Porušení některé z těchto podmínek vyvolá InvalidOperationExceptionvýjimku .

Je platné přidat nebo odebrat podřízenou položku jen pro čtení z uzlu, který lze upravit. Pokusy o úpravu samotného uzlu jen pro čtení však vyvolá InvalidOperationExceptionvýjimku . Příkladem je úprava podřízených XmlEntityReference položek uzlu. Podřízené položky jsou jen pro čtení a nelze je upravovat. Jakýkoli pokus o jejich úpravu vyvolá výjimku InvalidOperationException.

Viz také