XPathNavigator.CreateAttributes Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
XmlWriter Vrátí objekt použitý k vytvoření nových atributů pro aktuální prvek.
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
Návraty
Objekt XmlWriter použitý k vytvoření nových atributů pro aktuální prvek.
Výjimky
Není XPathNavigator umístěn na uzlu elementu.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu jsou nové atributy discount a currency vytvořeny na podřízeném prvku price prvního prvku book v souboru contosoBooks.xml pomocí objektu XmlWriter, který je vrácen z metody CreateAttributes.
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)
Příklad vezme contosoBooks.xml soubor jako vstup.
<?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>
Poznámky
Při použití CreateAttributes této metody je potřeba vzít v úvahu následující důležité poznámky.
XPathNavigator Při umístění na element, nové atributy vytvořené metodou XPathNavigator jsou umístěny na konci seznamu atributů aktuální prvek.
Nové atributy nejsou vloženy, dokud Close metoda objektu XmlWriter není volána.
Pokud je zadaná String.Empty předpona oboru názvů nebo
null, předpona identifikátoru URI oboru názvů nového atributu se získá z aktuálních oborů názvů v oboru. Pokud není k zadanému identifikátoru URI oboru názvů přiřazena žádná předpona oboru názvů v aktuálním oboru, automaticky se vygeneruje předpona oboru názvů. Chcete-li například vytvořit nový atribut pro prvek ve výchozím oboru názvůcontosoBooks.xmlsouboru (xmlns="http://www.contoso.com/books"), zadátenullnebo String.Empty pro předponu oboru názvů i parametry identifikátoru URI oboru názvů. Zadáníhttp://www.contoso.com/booksjako parametr URI oboru názvů způsobí CreateAttribute , že metoda automaticky vygeneruje předponu oboru názvů pro nový atribut.Pokud je nový atribut vytvořený uzel oboru názvů, který je v konfliktu s deklarací oboru názvů prvku, buď proto, že předpona oboru názvů zvolená je použita jinou deklarací oboru názvů ve stejném oboru, nebo protože zvolená předpona je stejná jako u elementu, ale je vázána na jiný identifikátor URI oboru názvů, vyvolá se výjimka.
Vrácený XmlWriter objekt lze použít pouze k vytvoření atributů. Volání jiných XmlWriter metod objektů, které nevytvoří atributy vyvolá výjimku.
Metoda CreateAttributes nemá vliv na pozici XPathNavigator.