XPathNavigator.CreateAttributes 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.
Gibt ein XmlWriter Objekt zurück, das zum Erstellen neuer Attribute für das aktuelle Element verwendet wird.
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
Gibt zurück
Ein XmlWriter Objekt, das zum Erstellen neuer Attribute für das aktuelle Element verwendet wird.
Ausnahmen
Die XPathNavigator Position wird nicht auf einem Elementknoten positioniert.
Die XPathNavigator Bearbeitung wird nicht unterstützt.
Beispiele
Im folgenden Beispiel werden neue discount und currency Attribute für das price untergeordnete Element des ersten book Elements in der contosoBooks.xml Datei mithilfe des XmlWriter von der CreateAttributes Methode zurückgegebenen Objekts erstellt.
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)
Im Beispiel wird die contosoBooks.xml Datei 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
Im Folgenden finden Sie wichtige Hinweise, die Sie bei der Verwendung der CreateAttributes Methode berücksichtigen sollten.
Wenn die XPathNavigator Position für ein Element erfolgt, werden die neuen Attribute, die von der XPathNavigator Methode erstellt wurden, am Ende der Attributliste des aktuellen Elements platziert.
Die neuen Attribute werden erst eingefügt, wenn die Close Methode des XmlWriter Objekts aufgerufen wird.
Wenn das angegebene String.Empty Namespacepräfix oder
nulldas Präfix für den Namespace-URI des neuen Attributs aus den aktuellen Namespaces im Gültigkeitsbereich abgerufen wird. Wenn dem angegebenen Namespace-URI im aktuellen Bereich kein Namespacepräfix zugewiesen ist, wird automatisch ein Namespacepräfix generiert. Um z. B. ein neues Attribut für ein Element im Standardnamespace dercontosoBooks.xmlDatei () zu erstellen,xmlns="http://www.contoso.com/books"geben Sie sowohlnulldie Namespacepräfix- als auch die Namespace-URI-Parameter anString.Empty. Die Angabehttp://www.contoso.com/booksals Namespace-URI-Parameter bewirkt, dass die CreateAttribute Methode automatisch ein Namespacepräfix für das neue Attribut generiert.Wenn es sich beim erstellten neuen Attribut um einen Namespaceknoten handelt, der mit einer Namespacedeklaration für das Element in Konflikt steht, wird entweder das ausgewählte Namespacepräfix von einer anderen Namespacedeklaration im selben Bereich verwendet, oder weil das ausgewählte Präfix mit dem des Elements identisch ist, aber an einen anderen Namespace-URI gebunden ist, wird eine Ausnahme ausgelöst.
Das XmlWriter zurückgegebene Objekt kann nur zum Erstellen von Attributen verwendet werden. Wenn Sie andere XmlWriter Objektmethoden aufrufen, die keine Attribute erstellen, wird eine Ausnahme ausgelöst.
Die CreateAttributes Methode wirkt sich nicht auf die Position der XPathNavigator.