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 node atribut baru (jika ada).

localName
String

Nama lokal node atribut baru, yang tidak boleh Empty atau null.

namespaceURI
String

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

value
String

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

Pengecualian

XPathNavigator tidak diposisikan pada node elemen.

XPathNavigator Tidak mendukung pengeditan.

Contoh

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

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 mengambil contosoBooks.xml file 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 ruang nama 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 URI awalan namespace dan namespace. http://www.contoso.com/books Menentukan sebagai parameter URI namespace akan menyebabkan CreateAttribute metode secara otomatis menghasilkan awalan namespace untuk atribut baru.

  • Jika atribut baru yang dibuat adalah node 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 memengaruhi posisi XPathNavigator.

Berlaku untuk