XPathNavigator.CreateAttribute(String, String, String, String) 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.
Crée un nœud d’attribut sur le nœud d’élément actuel à l’aide du préfixe d’espace de noms, du nom local et de l’URI d’espace de noms spécifiés avec la valeur spécifiée.
public:
virtual void CreateAttribute(System::String ^ prefix, System::String ^ localName, System::String ^ namespaceURI, System::String ^ value);
public virtual void CreateAttribute(string? prefix, string localName, string? namespaceURI, string? value);
public virtual void CreateAttribute(string prefix, string localName, string namespaceURI, string value);
abstract member CreateAttribute : string * string * string * string -> unit
override this.CreateAttribute : string * string * string * string -> unit
Public Overridable Sub CreateAttribute (prefix As String, localName As String, namespaceURI As String, value As String)
Paramètres
- prefix
- String
Préfixe d’espace de noms du nouveau nœud d’attribut (le cas échéant).
- namespaceURI
- String
URI d’espace de noms du nouveau nœud d’attribut (le cas échéant).
- value
- String
Valeur du nouveau nœud d’attribut. Si Empty vous passez ou null passez, un nœud d’attribut vide est créé.
Exceptions
L’élément XPathNavigator n’est pas positionné sur un nœud d’élément.
La XPathNavigator modification ne prend pas en charge la modification.
Exemples
Dans l’exemple suivant, un nouvel discount attribut est créé sur l’élément price enfant du premier book élément du contosoBooks.xml fichier.
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");
navigator.CreateAttribute("", "discount", "", "1.00");
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")
navigator.CreateAttribute("", "discount", "", "1.00")
navigator.MoveToParent()
Console.WriteLine(navigator.OuterXml)
L’exemple prend le contosoBooks.xml fichier en tant qu’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
Le préfixe d’espace de noms et les valeurs d’URI peuvent être obtenus à l’aide de la méthode ou LookupPrefix de la LookupNamespace méthode. Par exemple, la syntaxe suivante crée un attribut à l’aide de l’espace de noms xmlns:bk="http://www.contoso.com/books"dans l’étendue :
editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")
Cela crée le nouvel attribut <bk:element attributeName="text"/> sur l’élément actuel.
Les remarques suivantes sont importantes à prendre en compte lors de l’utilisation de la CreateAttribute méthode.
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. S’il n’existe aucun préfixe d’espace de noms affecté à l’URI d’espace de noms spécifié dans 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.xmlfichier, (xmlns="http://www.contoso.com/books"), vous spécifieznullou String.Empty pour les paramètres d’URI d’espace de noms et de préfixe d’espace de noms. La spécificationhttp://www.contoso.com/booksen tant que paramètre URI d’espace de noms entraîne la CreateAttribute génération automatique d’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 identique à celui de l’élément, mais est lié à un URI d’espace de noms différent, une exception est levée.
La CreateAttribute méthode n’affecte pas la position du XPathNavigator.