XPathNavigator.CreateAttribute(String, String, String, String) 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í.
Vytvoří uzel atributu na aktuálním uzlu elementu pomocí předpony oboru názvů, místního názvu a identifikátoru URI oboru názvů zadaného se zadanou hodnotou.
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)
Parametry
- prefix
- String
Předpona oboru názvů nového uzlu atributu (pokud existuje).
- namespaceURI
- String
Identifikátor URI oboru názvů pro nový uzel atributu (pokud existuje).
- value
- String
Hodnota nového uzlu atributu. Pokud Empty nebo null jsou předány, vytvoří se prázdný uzel atributu.
Výjimky
Není XPathNavigator umístěn na uzlu elementu.
Nepodporuje XPathNavigator úpravy.
Příklady
V následujícím příkladu je nový discount atribut vytvořen na price podřízený prvek prvního book elementu contosoBooks.xml v souboru.
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)
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
Hodnoty předpony oboru názvů a identifikátoru LookupPrefix URI lze získat pomocí metody nebo LookupNamespace metody. Například následující syntaxe vytvoří atribut pomocí oboru názvů v oboru:xmlns:bk="http://www.contoso.com/books"
editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")
Tím se vytvoří nový atribut <bk:element attributeName="text"/> pro aktuální prvek.
Při použití CreateAttribute této metody je potřeba vzít v úvahu následující důležité poznámky.
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.
Metoda CreateAttribute nemá vliv na pozici XPathNavigator.