XPathNavigator.CreateAttributes Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Retourne un objet XmlWriter permettant de créer des attributs sur l'élément actuel.
public:
virtual System::Xml::XmlWriter ^ CreateAttributes();
public virtual System.Xml.XmlWriter CreateAttributes ();
abstract member CreateAttributes : unit -> System.Xml.XmlWriter
override this.CreateAttributes : unit -> System.Xml.XmlWriter
Public Overridable Function CreateAttributes () As XmlWriter
Retours
Objet XmlWriter utilisé pour créer des attributs sur l’élément actuel.
Exceptions
XPathNavigator n'est pas positionné sur un nœud d'élément.
Le XPathNavigator ne prend pas en charge la modification.
Exemples
Dans l'exemple suivant, de nouveaux attributs discount
et currency
sont créés sur l'élément price
enfant du premier élément book
du fichier contosoBooks.xml
à l'aide de l'objet XmlWriter retourné par la méthode CreateAttributes.
XmlDocument^ document = gcnew XmlDocument();
document->Load("contosoBooks.xml");
XPathNavigator^ navigator = document->CreateNavigator();
navigator->MoveToChild("bookstore", "http://www.contoso.com/books");
navigator->MoveToChild("book", "http://www.contoso.com/books");
navigator->MoveToChild("price", "http://www.contoso.com/books");
XmlWriter^ attributes = navigator->CreateAttributes();
attributes->WriteAttributeString("discount", "1.00");
attributes->WriteAttributeString("currency", "USD");
attributes->Close();
navigator->MoveToParent();
Console::WriteLine(navigator->OuterXml);
XmlDocument document = new XmlDocument();
document.Load("contosoBooks.xml");
XPathNavigator navigator = document.CreateNavigator();
navigator.MoveToChild("bookstore", "http://www.contoso.com/books");
navigator.MoveToChild("book", "http://www.contoso.com/books");
navigator.MoveToChild("price", "http://www.contoso.com/books");
XmlWriter attributes = navigator.CreateAttributes();
attributes.WriteAttributeString("discount", "1.00");
attributes.WriteAttributeString("currency", "USD");
attributes.Close();
navigator.MoveToParent();
Console.WriteLine(navigator.OuterXml);
Dim document As XmlDocument = New XmlDocument()
document.Load("contosoBooks.xml")
Dim navigator As XPathNavigator = document.CreateNavigator()
navigator.MoveToChild("bookstore", "http://www.contoso.com/books")
navigator.MoveToChild("book", "http://www.contoso.com/books")
navigator.MoveToChild("price", "http://www.contoso.com/books")
Dim attributes As XmlWriter = navigator.CreateAttributes()
attributes.WriteAttributeString("discount", "1.00")
attributes.WriteAttributeString("currency", "USD")
attributes.Close()
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
L'exemple prend le fichier contosoBooks.xml
comme entrée.
<?xml version="1.0" encoding="utf-8" ?>
<bookstore xmlns="http://www.contoso.com/books">
<book genre="autobiography" publicationdate="1981-03-22" ISBN="1-861003-11-0">
<title>The Autobiography of Benjamin Franklin</title>
<author>
<first-name>Benjamin</first-name>
<last-name>Franklin</last-name>
</author>
<price>8.99</price>
</book>
<book genre="novel" publicationdate="1967-11-17" ISBN="0-201-63361-2">
<title>The Confidence Man</title>
<author>
<first-name>Herman</first-name>
<last-name>Melville</last-name>
</author>
<price>11.99</price>
</book>
<book genre="philosophy" publicationdate="1991-02-15" ISBN="1-861001-57-6">
<title>The Gorgias</title>
<author>
<name>Plato</name>
</author>
<price>9.99</price>
</book>
</bookstore>
Remarques
Voici les remarques importantes à prendre en compte lors de l’utilisation de la CreateAttributes méthode .
Lorsque le XPathNavigator est positionné sur un élément, les nouveaux attributs créés par la XPathNavigator méthode sont placés à la fin de la liste d’attributs de l’élément actuel.
Les nouveaux attributs ne sont pas insérés tant que la Close méthode de l’objet XmlWriter n’est pas appelée.
Si le préfixe d’espace de noms spécifié est String.Empty ou
null
, le préfixe de l’URI d’espace de noms du nouvel attribut est obtenu à partir des espaces de noms actuels dans l’étendue. Si aucun préfixe d’espace de noms n’est affecté à l’URI d’espace de noms spécifié au niveau de l’étendue actuelle, un préfixe d’espace de noms est généré automatiquement. Par exemple, pour créer un attribut sur un élément dans l’espace de noms par défaut ducontosoBooks.xml
fichier (xmlns="http://www.contoso.com/books"
), vous spécifieznull
ou String.Empty pour les paramètres de préfixe d’espace de noms et d’URI d’espace de noms. Si vous spécifiez comme paramètre d’URI d’espace dehttp://www.contoso.com/books
noms, la CreateAttribute méthode génère automatiquement un préfixe d’espace de noms pour le nouvel attribut.Si le nouvel attribut créé est un nœud d’espace de noms qui est en conflit avec une déclaration d’espace de noms sur l’élément, soit parce que le préfixe d’espace de noms choisi est utilisé par une autre déclaration d’espace de noms dans la même étendue, soit parce que le préfixe choisi est le même que celui de l’élément, mais qu’il est lié à un URI d’espace de noms différent, une exception est levée.
L’objet XmlWriter retourné peut uniquement être utilisé pour créer des attributs. L’appel d’autres XmlWriter méthodes d’objet qui ne créent pas d’attributs lève une exception.
La CreateAttributes méthode n’affecte pas la position du XPathNavigator.