Bagikan melalui


XPathNavigator.CreateAttribute(String, String, String, String) Metode

Definisi

Membuat simpul atribut pada simpul elemen saat ini menggunakan awalan namespace, nama lokal, dan URI namespace yang ditentukan dengan nilai yang ditentukan.

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

Awalan namespace dari simpul atribut baru (jika ada).

localName
String

Nama lokal simpul atribut baru yang tidak dapat Empty atau null.

namespaceURI
String

URI namespace layanan untuk node atribut baru (jika ada).

value
String

Nilai simpul atribut baru. Jika Empty atau null diteruskan, simpul atribut kosong akan dibuat.

Pengecualian

XPathNavigator tidak diposisikan pada simpul elemen.

XPathNavigator tidak mendukung pengeditan.

Contoh

Dalam contoh berikut, atribut baru discount dibuat pada price elemen anak dari elemen pertama book dalam contosoBooks.xml file.

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)

Contoh menggunakan file contosoBooks.xml sebagai input.

<?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>  

Keterangan

Awalan namespace dan nilai URI dapat diperoleh menggunakan LookupPrefix metode atau LookupNamespace . Misalnya, sintaks berikut membuat atribut dengan menggunakan namespace xmlns:bk="http://www.contoso.com/books"dalam cakupan :

editor.CreateAttribute(navigator.Prefix, "attributeName", LookupNamespace(navigator.Prefix), "text")  

Ini membuat atribut <bk:element attributeName="text"/> baru pada elemen saat ini.

Berikut ini adalah catatan penting yang perlu dipertimbangkan CreateAttribute saat menggunakan metode .

  • Jika awalan namespace yang ditentukan adalah String.Empty atau null, awalan untuk URI namespace atribut baru diperoleh dari namespace saat ini dalam cakupan. Jika tidak ada awalan namespace yang ditetapkan ke URI namespace yang ditentukan pada cakupan saat ini, awalan namespace akan dibuat secara otomatis. Misalnya untuk membuat atribut baru pada elemen di namespace contosoBooks.xml default file, (xmlns="http://www.contoso.com/books"), Anda menentukan null atau String.Empty untuk parameter awalan namespace dan URI namespace. Menentukan http://www.contoso.com/books sebagai parameter URI namespace akan menyebabkan CreateAttribute metode secara otomatis menghasilkan awalan namespace untuk atribut baru.

  • Jika atribut baru yang dibuat adalah simpul namespace yang bertentangan dengan deklarasi namespace pada elemen, baik karena awalan namespace yang dipilih digunakan oleh deklarasi namespace layanan lain pada cakupan yang sama, atau karena awalan yang dipilih sama dengan elemen tetapi terikat ke URI namespace yang berbeda, pengecualian akan dilemparkan.

  • Metode CreateAttribute ini tidak mempengaruhi posisi XPathNavigator.

Berlaku untuk