XPathNavigator.CreateAttribute(String, String, String, String) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt auf dem aktuellen Knoten einen Attributknoten mit dem angegebenen Wert. Dabei werden die angegebenen Werte für das Namespacepräfix, den lokalen Namen und den Namespace-URI verwendet.
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)
Parameter
- prefix
- String
Das Namespacepräfix des neuen Attributknotens (sofern vorhanden).
- localName
- String
Der lokale Name des neuen Attributknotens. Der Wert darf nicht Empty oder null
sein.
- namespaceURI
- String
Der Namespace-URI des neuen Attributknotens (sofern vorhanden).
- value
- String
Der Wert des neuen Attributknotens. Beim Übergeben von Empty oder null
wird ein leerer Attributknoten erstellt.
Ausnahmen
Der XPathNavigator ist nicht auf einem Elementknoten positioniert.
Der XPathNavigator unterstützt keine Bearbeitung.
Beispiele
Im folgenden Beispiel wird ein neues discount
Attribut für das price
untergeordnete Element des ersten book
Elements in der contosoBooks.xml
Datei erstellt.
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");
navigator->CreateAttribute("", "discount", "", "1.00");
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");
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)
In diesem Beispiel wird die Datei contosoBooks.xml
als Eingabe verwendet.
<?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>
Hinweise
Namespacepräfix- und URI-Werte können mithilfe der LookupPrefix -Methode oder LookupNamespace abgerufen werden. Mit der folgenden Syntax wird beispielsweise ein Attribut mithilfe des Bereichs-Namespace xmlns:bk="http://www.contoso.com/books"
erstellt:
editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")
Dadurch wird das neue Attribut <bk:element attributeName="text"/>
für das aktuelle Element erstellt.
Im Folgenden finden Sie wichtige Hinweise, die Sie bei der Verwendung der CreateAttribute -Methode berücksichtigen sollten.
Wenn das angegebene Namespacepräfix oder
null
istString.Empty, wird das Präfix für den Namespace-URI des neuen Attributs aus den aktuellen Namespaces im Gültigkeitsbereich abgerufen. Wenn dem angegebenen Namespace-URI im aktuellen Bereich kein Namespacepräfix zugewiesen ist, wird automatisch ein Namespacepräfix generiert. Wenn Sie beispielsweise ein neues Attribut für ein Element im Standardnamespace dercontosoBooks.xml
Datei (xmlns="http://www.contoso.com/books"
) erstellen möchten, gebennull
Sie oder String.Empty sowohl für das Namespacepräfix als auch für den Namespace-URI-Parameter an. Wenn Sie als Namespace-URI-Parameter angebenhttp://www.contoso.com/books
, generiert die CreateAttribute Methode automatisch ein Namespacepräfix für das neue Attribut.Wenn das neu erstellte Attribut ein Namespaceknoten ist, der mit einer Namespacedeklaration für das Element in Konflikt steht, weil entweder das ausgewählte Namespacepräfix von einer anderen Namespacedeklaration im gleichen Bereich verwendet wird, oder weil das ausgewählte Präfix dem des Elements entspricht, aber an einen anderen Namespace-URI gebunden ist, wird eine Ausnahme ausgelöst.
Die CreateAttribute -Methode wirkt sich nicht auf die Position von aus XPathNavigator.