Leggere in inglese

Condividi tramite


Panoramica della classe XDocument

La XDocument classe contiene le informazioni necessarie per un documento XML valido, che include una dichiarazione XML, istruzioni di elaborazione e commenti.

È necessario creare XDocument oggetti solo se è necessaria la funzionalità specifica fornita dalla XDocument classe . In molte circostanze, è possibile lavorare direttamente con XElement. Lavorare direttamente con XElement è un modello di programmazione più semplice.

XDocument deriva da XContainer, quindi può contenere nodi figli. Tuttavia, XDocument gli oggetti possono avere un solo nodo figlio XElement . Ciò riflette lo standard XML che può essere presente un solo elemento radice in un documento XML.

Componenti di XDocument

Un XDocument oggetto può contenere gli elementi seguenti:

  • Un XDeclaration oggetto. XDeclaration consente di specificare le parti pertinenti di una dichiarazione XML: la versione XML, la codifica del documento e se il documento XML è autonomo.
  • Un XElement oggetto. Questo oggetto è il nodo radice del documento XML.
  • Numero qualsiasi di XProcessingInstruction oggetti. Un'istruzione di elaborazione comunica le informazioni a un'applicazione che elabora il codice XML.
  • Numero qualsiasi di XComment oggetti. I commenti saranno di pari livello all'elemento radice.
  • Uno XDocumentType per il DTD.

Quando si serializza un XDocument, anche se XDocument.Declaration è null, l'output avrà una dichiarazione XML se il writer ha Writer.Settings.OmitXmlDeclaration impostato su false (impostazione predefinita).

Per impostazione predefinita, LINQ to XML imposta la versione su "1.0" e imposta la codifica su "utf-8".

Usare XElement senza XDocument

Come accennato in precedenza, la XElement classe è la classe principale nell'interfaccia di programmazione LINQ to XML. In molti casi, l'applicazione non richiede la creazione di un documento. Usando la XElement classe , è possibile:

  • Creare un albero XML.
  • Aggiungere altri alberi XML ad esso.
  • Modificare l'albero XML.
  • Salvalo.

Usare XDocument

Per costruire un XDocument, usa la costruzione funzionale, proprio come si fa per costruire oggetti XElement.

Nell'esempio seguente viene creato un XDocument oggetto e gli oggetti contenuti associati.

C#
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");

L'esempio produce questo output in test.xml:

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.-->

Vedere anche


Risorse aggiuntive