Rumah >pembangunan bahagian belakang >C++ >Bagaimana Menggunakan XElement untuk Mencipta Dokumen XML dengan Ruang Nama dan Awalan?

Bagaimana Menggunakan XElement untuk Mencipta Dokumen XML dengan Ruang Nama dan Awalan?

Linda Hamilton
Linda Hamiltonasal
2024-12-31 07:04:12519semak imbas

How to Use XElement to Create XML Documents with Namespaces and Prefixes?

Ruang Nama XElement

Panduan ini menunjukkan cara mencipta dokumen XML dengan awalan nod menggunakan XElement.

Mencipta Dokumen XML dengan Awalan Nod

Untuk mencipta XML dokumen dengan awalan nod, gunakan langkah berikut:

  1. Tentukan ruang nama:
XNamespace ns = "http://url/for/sphinx";
  1. Buat elemen dengan awalan:
XElement element = new XElement(ns + "docset");

Pengendalian Exception

Jika anda menghadapi pengecualian "System.Xml.XmlException: Aksara ':', val perenambelasan..." apabila cuba mencipta elemen dengan awalan ruang nama, pastikan anda menggunakan ruang nama dalam format yang betul. Gunakan kaedah GetNamespacePrefix untuk mendapatkan semula awalan yang betul untuk ruang nama yang disediakan, seperti yang ditunjukkan di bawah:

XNamespace ns = XNamespace.Get("http://url/for/sphinx");
XElement element = new XElement(ns.GetNamespacePrefix() + "docset");

Mencipta Dokumen XML Kompleks

Untuk mencipta dokumen XML yang lebih kompleks dengan elemen dan atribut bersarang, anda boleh menggunakan contoh berikut:

XNamespace ns = "http://url/for/sphinx";
XElement container = new XElement("container",
    new XAttribute(XNamespace.Xmlns + "sphinx", ns),
    new XElement(ns + "docset",
        new XElement(ns + "schema"),
            new XElement(ns + "field", new XAttribute("name", "subject")),
            new XElement(ns + "field", new XAttribute("name", "content")),
            new XElement(ns + "attr", 
                         new XAttribute("name", "published"),
                         new XAttribute("type", "timestamp"))));

Kod ini akan menghasilkan dokumen XML berikut:

<container xmlns:sphinx="http://url/for/sphinx">
  <sphinx:docset>
    <sphinx:schema />
    <sphinx:field name="subject" />
    <sphinx:field name="content" />
    <sphinx:attr name="published" type="timestamp" />
  </sphinx:docset>
</container>

Atas ialah kandungan terperinci Bagaimana Menggunakan XElement untuk Mencipta Dokumen XML dengan Ruang Nama dan Awalan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn