XPathNavigator.CreateAttribute(String, String, String, String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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).
- 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 namespacecontosoBooks.xml
default file, (xmlns="http://www.contoso.com/books"
), Anda menentukannull
atau String.Empty untuk parameter awalan namespace dan URI namespace. Menentukanhttp://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.