Bagikan melalui


XPathNavigator.CreateAttributes Metode

Definisi

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 namespace contosoBooks.xml default file, (xmlns="http://www.contoso.com/books"), Anda menentukan null atau String.Empty untuk prefiks namespace dan parameter URI namespace. Menentukan http://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.

Berlaku untuk