XPathNavigator.CreateAttributes 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.
Mengembalikan objek yang XmlWriter digunakan untuk membuat atribut baru pada elemen saat ini.
public:
virtual System::Xml::XmlWriter ^ CreateAttributes();
public virtual System.Xml.XmlWriter CreateAttributes();
abstract member CreateAttributes : unit -> System.Xml.XmlWriter
override this.CreateAttributes : unit -> System.Xml.XmlWriter
Public Overridable Function CreateAttributes () As XmlWriter
Mengembalikan
Objek yang XmlWriter digunakan untuk membuat atribut baru pada elemen saat ini.
Pengecualian
XPathNavigator tidak diposisikan pada node elemen.
XPathNavigator Tidak mendukung pengeditan.
Contoh
Dalam contoh berikut, atribut discount dan currency baru dibuat pada elemen turunan price dari elemen pertama book dalam file contosoBooks.xml menggunakan objek XmlWriter yang dikembalikan dari metode CreateAttributes.
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");
XmlWriter attributes = navigator.CreateAttributes();
attributes.WriteAttributeString("discount", "1.00");
attributes.WriteAttributeString("currency", "USD");
attributes.Close();
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")
Dim attributes As XmlWriter = navigator.CreateAttributes()
attributes.WriteAttributeString("discount", "1.00")
attributes.WriteAttributeString("currency", "USD")
attributes.Close()
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
Berikut ini adalah catatan penting yang perlu dipertimbangkan CreateAttributes saat menggunakan metode .
XPathNavigator Ketika diposisikan pada elemen, atribut baru yang dibuat oleh XPathNavigator metode ditempatkan di akhir daftar atribut elemen saat ini.
Atribut baru tidak disisipkan sampai Close metode objek dipanggil XmlWriter .
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 namespacecontosoBooks.xmldefault file, (xmlns="http://www.contoso.com/books"), Anda menentukannullatau String.Empty untuk parameter URI awalan namespace dan namespace.http://www.contoso.com/booksMenentukan 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.
Objek XmlWriter yang dikembalikan hanya dapat digunakan untuk membuat atribut. Memanggil metode objek lain XmlWriter yang tidak membuat atribut melemparkan pengecualian.
Metode CreateAttributes ini tidak memengaruhi posisi XPathNavigator.