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 uzel nového atributu (pokud existuje).
- value
- String
Hodnota nového uzlu atributu. Pokud Empty jsou předány nebo null
jsou předány, vytvoří se prázdný uzel atributu.
Výjimky
Objekt XPathNavigator není umístěn na uzlu elementu.
Nástroj XPathNavigator nepodporuje úpravy.
Příklady
V následujícím příkladu se vytvoří nový discount
atribut pro price
podřízený prvek prvního book
elementu contosoBooks.xml
v souboru.
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)
V příkladu se contosoBooks.xml
soubor používá 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 URI lze získat pomocí LookupPrefix metody nebo LookupNamespace . Například následující syntaxe vytvoří atribut pomocí oboru názvů v oboru názvů 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"/>
aktuálního elementu.
Následující důležité poznámky je potřeba při použití metody vzít v CreateAttribute úvahu.
Pokud je String.Empty zadaná předpona oboru názvů nebo
null
, získá se předpona identifikátoru URI oboru názvů nového atributu z aktuálních oborů názvů v oboru názvů. Pokud není k zadanému identifikátoru URI oboru názvů v aktuálním oboru přiřazena žádná předpona oboru názvů, 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.xml
souboru (xmlns="http://www.contoso.com/books"
), zadátenull
parametr nebo String.Empty pro předponu oboru názvů a parametry identifikátoru URI oboru názvů. Zadáníhttp://www.contoso.com/books
jako parametru identifikátoru URI oboru názvů způsobí, CreateAttribute že metoda automaticky vygeneruje předponu oboru názvů pro nový atribut.Pokud je nový vytvořený atribut uzel oboru názvů, který je v konfliktu s deklarací oboru názvů elementu, buď proto, že zvolenou předponu oboru názvů používá jiná deklarace oboru názvů ve stejném oboru, nebo proto, že zvolená předpona je stejná jako předpona elementu, ale je vázána na jiný identifikátor URI oboru názvů, vyvolá se výjimka.
Metoda CreateAttribute nemá vliv na pozici XPathNavigatornástroje .