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:

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
Vlastnost Hodnota atributu.
CDATASection (sekce znakových dat) Obsah „CDATASection“
Komentář Obsah komentáře.
PokynKeZpracování Obsah kromě cíle.
Text Obsah textu.
Deklarace XML Obsah deklarace, s výjimkou <?xml a ?> označení.
Prázdné místo Hodnota prázdného místa. Hodnotu můžete nastavit jako jeden z těchto čtyř rozpoznaných znaků XML: mezera, tab, CR nebo LF.
SignificantWhitespace Hodnota významného prázdného místa. Hodnotu můžete nastavit jako jeden z těchto čtyř rozpoznaných znaků XML: mezera, tab, 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í označení 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 jmenného prostoru. Kromě toho InnerXml odebere nadbytečné deklarace oboru názvů. V důsledku toho četné operace vyjmutí a vložení nezvětší velikost dokumentu kvůli redundantním deklaracím oboru názvů. Příklad kódu, který ukazuje vliv oborů názvů na operaci InnerXml, viz vlastnost InnerXml.

Při použití metod ReplaceData a RemoveChild metody 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ě ověřovací kontroly na uzlu, který se vkládá do dokumentu. První kontrola ověřuje, že se uzel stane potomkem uzlu, který může mít potomky svého typu. Druhá kontrola zajistí, že vložený uzel není předkem uzlu, jehož se stává dceřiným uzlem. Porušení některé z těchto podmínek vyvolá InvalidOperationExceptionvýjimku .

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

Viz také