Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
De XDocument klasse bevat de informatie die nodig is voor een geldig XML-document, waaronder een XML-declaratie, verwerkingsinstructies en opmerkingen.
U hoeft alleen objecten te maken XDocument als u de specifieke functionaliteit van de XDocument klasse nodig hebt. In veel omstandigheden kunt u rechtstreeks met XElement werken. Rechtstreeks werken met XElement is een eenvoudiger programmeermodel.
XDocument stamt af van XContainer, waardoor het kindknooppunten kan bevatten. XDocument Objecten kunnen echter slechts één onderliggend XElement knooppunt hebben. Dit weerspiegelt de XML-standaard dat er slechts één hoofdelement in een XML-document kan zijn.
Onderdelen van XDocument
Een XDocument kan de volgende elementen bevatten:
- Eén XDeclaration object. XDeclaration hiermee kunt u de relevante onderdelen van een XML-declaratie opgeven: de XML-versie, de codering van het document en of het XML-document zelfstandig is.
- Eén XElement object. Dit object is het hoofdknooppunt van het XML-document.
- Een willekeurig aantal XProcessingInstruction objecten. Een verwerkingsinstructie communiceert informatie met een toepassing die de XML verwerkt.
- Een willekeurig aantal XComment objecten. De opmerkingen worden gekoppeld aan het hoofdelement.
- Eén XDocumentType voor de DTD.
Wanneer u een XDocument serialiseert, zelfs als XDocument.Declarationnull is, heeft de uitvoer een XML-declaratie als de schrijver is ingesteld op Writer.Settings.OmitXmlDeclarationfalse (de standaardinstelling).
LinQ op XML stelt standaard de versie in op 1.0 en stelt de codering in op 'utf-8'.
XElement zonder XDocument gebruiken
Zoals eerder vermeld, is de klasse de XElement hoofdklasse in de LINQ naar de XML-programmeerinterface. In veel gevallen hoeft u voor uw toepassing geen document te maken. Met behulp van de XElement klasse kunt u het volgende doen:
- Maak een XML-boom.
- Voeg er andere XML-structuren aan toe.
- Wijzig de XML-structuur.
- Sla het op.
XDocument gebruiken
Om een XDocument te maken, gebruik functionele constructie, net zoals je doet om XElement objecten te bouwen.
In het volgende voorbeeld worden een XDocument object en de bijbehorende ingesloten objecten gemaakt.
XDocument d = new XDocument(
new XComment("This is a comment."),
new XProcessingInstruction("xml-stylesheet",
"href='mystyle.css' title='Compact' type='text/css'"),
new XElement("Pubs",
new XElement("Book",
new XElement("Title", "Artifacts of Roman Civilization"),
new XElement("Author", "Moreno, Jordao")
),
new XElement("Book",
new XElement("Title", "Midieval Tools and Implements"),
new XElement("Author", "Gazit, Inbar")
)
),
new XComment("This is another comment.")
);
d.Declaration = new XDeclaration("1.0", "utf-8", "true");
Console.WriteLine(d);
d.Save("test.xml");
Dim doc As XDocument = <?xml version="1.0" encoding="utf-8"?>
<!--This is a comment.-->
<?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
<Pubs>
<Book>
<Title>Artifacts of Roman Civilization</Title>
<Author>Moreno, Jordao</Author>
</Book>
<Book>
<Title>Midieval Tools and Implements</Title>
<Author>Gazit, Inbar</Author>
</Book>
</Pubs>
<!--This is another comment.-->
doc.Save("test.xml")
In het voorbeeld wordt deze uitvoer geproduceerd in test.xml:
<?xml version="1.0" encoding="utf-8"?>
<!--This is a comment.-->
<?xml-stylesheet href='mystyle.css' title='Compact' type='text/css'?>
<Pubs>
<Book>
<Title>Artifacts of Roman Civilization</Title>
<Author>Moreno, Jordao</Author>
</Book>
<Book>
<Title>Midieval Tools and Implements</Title>
<Author>Gazit, Inbar</Author>
</Book>
</Pubs>
<!--This is another comment.-->