Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
La XDocument classe contient les informations nécessaires pour un document XML valide, qui inclut une déclaration XML, des instructions de traitement et des commentaires.
Vous devez uniquement créer des XDocument objets si vous avez besoin des fonctionnalités spécifiques fournies par la XDocument classe. Dans de nombreuses circonstances, vous pouvez travailler directement avec XElement. Travailler directement avec XElement est un modèle de programmation plus simple.
XDocument dérive de XContainer, il peut donc contenir des nœuds enfants. Toutefois, XDocument les objets ne peuvent avoir qu’un seul nœud enfant XElement . Cela reflète la norme XML qu’il ne peut y avoir qu’un seul élément racine dans un document XML.
Composants de XDocument
Un XDocument peut contenir les éléments suivants :
- Un XDeclaration objet. XDeclaration vous permet de spécifier les parties pertinentes d’une déclaration XML : la version XML, l’encodage du document et si le document XML est autonome.
- Un XElement objet. Cet objet est le nœud racine du document XML.
- N’importe quel nombre d’objets XProcessingInstruction . Une instruction de traitement communique des informations à une application qui traite le code XML.
- N’importe quel nombre d’objets XComment . Les commentaires seront des frères de l'élément racine.
- Un objet XDocumentType pour le DTD.
Lorsque vous sérialisez un objet XDocument, même si XDocument.Declaration a la valeur null, la sortie aura une déclaration XML à condition que la propriété Writer.Settings.OmitXmlDeclaration du writer ait la valeur false (valeur par défaut).
Par défaut, LINQ to XML définit la version sur « 1.0 » et définit l’encodage sur « utf-8 ».
Utiliser XElement sans XDocument
Comme mentionné précédemment, la XElement classe est la classe principale de l’interface de programmation LINQ to XML. Dans de nombreux cas, votre application ne nécessite pas de créer un document. À l’aide de la XElement classe, vous pouvez :
- Créez une arborescence XML.
- Ajoutez d’autres arborescences XML à celui-ci.
- Modifiez l’arborescence XML.
- Enregistrez-le.
Utiliser XDocument
Pour construire un XDocument, utilisez la construction fonctionnelle, comme vous le faites pour construire des objets XElement.
L’exemple suivant crée un XDocument objet et ses objets contenus associés.
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")
L’exemple produit cette sortie dans 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.-->