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!