Rumah >pembangunan bahagian belakang >C++ >Bagaimana Mengendalikan Ruang Nama dan Awalan Dengan Betul Semasa Mencipta Dokumen XML dengan XElement?

Bagaimana Mengendalikan Ruang Nama dan Awalan Dengan Betul Semasa Mencipta Dokumen XML dengan XElement?

Linda Hamilton
Linda Hamiltonasal
2024-12-31 11:46:10538semak imbas

How to Correctly Handle Namespaces and Prefixes When Creating XML Documents with XElement?

Ruang Nama XElement: Panduan Komprehensif

Mencipta Dokumen XML dengan Awalan Nod

Apabila membina dokumen XML menggunakan XElement, ia adalah penting untuk mengendalikan awalan ruang nama dengan betul. Percubaan untuk mencipta elemen dengan awalan secara langsung, cth., XElement baharu("sphinx:docset"), akan menghasilkan pengecualian.

Penyelesaian Menggunakan Ruang Nama

LINQ kepada XML menyediakan penyelesaian yang elegan untuk ini:

XNamespace ns = "sphinx";
XElement element = new XElement(ns + "docset");

Pendekatan ini menambahkan ruang nama pada nama elemen, memastikan kehadiran awalan yang diingini.

Menyesuaikan Awalan

Anda juga boleh menyesuaikan awalan agar sepadan dengan struktur XML sedia ada anda:

XNamespace ns = "http://url/for/sphinx";
XElement element = 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 menjana XML yang menyerupai contoh yang anda berikan:

<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 Mengendalikan Ruang Nama dan Awalan Dengan Betul Semasa Mencipta Dokumen XML dengan XElement?. 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