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 simpul elemen.
XPathNavigator tidak mendukung pengeditan.
Contoh
Dalam contoh berikut, atribut dan discount
baru currency
dibuat pada price
elemen turunan dari elemen pertama book
dalam contosoBooks.xml
file menggunakan objek yang XmlWriter dikembalikan dari CreateAttributes metode.
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");
XmlWriter^ attributes = navigator->CreateAttributes();
attributes->WriteAttributeString("discount", "1.00");
attributes->WriteAttributeString("currency", "USD");
attributes->Close();
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");
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 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
Berikut ini adalah catatan penting yang perlu dipertimbangkan saat menggunakan metode .CreateAttributes
XPathNavigator Ketika diposisikan pada elemen, atribut baru yang dibuat oleh XPathNavigator metode ditempatkan di akhir daftar atribut elemen saat ini.
Atribut baru tidak dimasukkan sampai Close metode objek dipanggil XmlWriter .
Jika awalan namespace yang ditentukan adalah String.Empty atau
null
, awalan untuk URI namespace dari 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 prefiks namespace dan parameter URI namespace. Menentukanhttp://www.contoso.com/books
sebagai parameter URI namespace layanan akan menyebabkan CreateAttribute metode secara otomatis menghasilkan awalan namespace untuk atribut baru.Jika atribut baru yang dibuat adalah node namespace layanan 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 memberikan pengecualian.
Metode CreateAttributes ini tidak mempengaruhi posisi XPathNavigator.