TOC

This article has been localized into Czech by the community.

XML:

Práce s třídou XmlNode

V předchozí kapitole jsme použili třídu XmlDocument k parsování XML souboru. V příkladu byla představena nová třída, která je velmi důležitá pro parsování XML s XmlDocument: Třída XmlNode. XML je v podstatě parsováno do XmlNode, který je kořenovým prvkem, a poté můžete přistupovat k podřízeným prvkům pomocí vlastnosti ChildNodes. Třída XmlNode vám však poskytuje přístup k mnoha dalším informacím, například k názvu tagu, atributům, vnitřnímu textu a samotnému XML. Tato kapitola je stručným popisem některých z nejzajímavějších aspektů třídy XmlNode, což je důležité znát, protože třída XmlNode je tak klíčovým konceptem při parsování XML s třídou XmlDocument. V následujících příkladech budeme hodně používat DocumentElement, a i když je ve skutečnosti typu XmlElement, XmlElement dědí z XmlNode, takže je to v podstatě totéž.

Vlastnost Name vám jednoduše dá název uzlu. Například následující příklad vypíše text "user":

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<user name=\"John Doe\">A user node</user>");
Console.WriteLine(xmlDoc.DocumentElement.Name);
Console.ReadKey();

Vlastnost InnerText obsahuje text umístěný mezi počátečním a koncovým tagem, jako v tomto příkladu:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<test>InnerText is here</test>");
Console.WriteLine(xmlDoc.DocumentElement.InnerText);
Console.ReadKey();

Vlastnost InnerXml je trochu podobná vlastnosti InnerText, ale zatímco InnerText odstraní veškeré XML uvnitř, vlastnost InnerXml to samozřejmě neudělá. Následující příklad by měl ilustrovat rozdíl:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<users><user>InnerText/InnerXml is here</user></users>");
Console.WriteLine("InnerXml: " + xmlDoc.DocumentElement.InnerXml);
Console.WriteLine("InnerText: " + xmlDoc.DocumentElement.InnerText);
Console.ReadKey();

Vlastnost OuterXml je stejná jako InnerXml, ale zahrne také XML samotného uzlu. Následující příklad by měl ilustrovat rozdíl:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<users><user>InnerText/InnerXml is here</user></users>");
Console.WriteLine("InnerXml: " + xmlDoc.DocumentElement.InnerXml);
Console.WriteLine("OuterXml: " + xmlDoc.DocumentElement.OuterXml);
Console.ReadKey();

S atributy jsme pracovali v předchozí kapitole, ale zde je další příklad:

XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml("<user name=\"John Doe\" age=\"42\"></user>");
if(xmlDoc.DocumentElement.Attributes["name"] != null)
    Console.WriteLine(xmlDoc.DocumentElement.Attributes["name"].Value);
if(xmlDoc.DocumentElement.Attributes["age"] != null)
    Console.WriteLine(xmlDoc.DocumentElement.Attributes["age"].Value);
Console.ReadKey();

This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!