मूल तत्व में नाम स्थान की घोषणाएं जैसे xmlns: xlink = "http://www.w3.org/1999 / Xlink "
... इसलिए, कोई भी नोड जोड़ा गया (उदा। appendChild
) नामस्थान स्वीकार करेगा। मैं & lt; ग्राफिक xlink: href = ".." / & gt;
जोड़ सकते हैं क्योंकि संपूर्ण पर यह मान्य है ... लेकिन एक टुकड़ा जोड़ने के लिए मुझे पहले के साथ टुकड़ा बनाने की आवश्यकता है उदाहरण:
$ tmp = $ dom- & gt; createDocumentFragment (); बनाम दस्तावेज़ दस्तावेज़ ()
।
$ ठीक = $ tmp- & gt; एपेंड XML ('& lt; ग्राफिक xlink: href = "file123.ext" / & gt;');
चल रहा है, एक त्रुटि उत्पन्न करता है, DOMDocumentFragment :: appendXML (): नामस्थान त्रुटि: इनलाइन-ग्राफ़ पर नामस्थान उपसर्ग xlink href परिभाषित नहीं है
कैसे करें "डोमडेकाट नामस्थान का उपयोग करें" को DOMDocumentFragment :: appendXML ()
विधि?
नोट्स और कंटैक्स
(यहां पर पॉल्यूट नहीं करने के लिए)
ऐसा लगता है कि यह जिस तरह से करना चाहिए वह काम कर रहा है। चेक आउट । Chregu@php.net का कहना है कि यह एक बग नहीं है और ठीक से काम करता है यद्यपि मैं बग रिपोर्ट और अन्य टिप्पणियों से सहमत हूं, क्योंकि यह टुकड़ा DOMDocument से बनी हुई है, और इसके पास नाम स्थान निर्धारित है, वास्तव में यह जानना चाहिए कि वे क्या हैं और समस्या के बिना काम करना चाहिए।
तत्व के साथ नामस्थान को पास करें यह एक्सएमएल में दिखाई नहीं देगा जो कि आउटपुट है, लेकिन टुकड द्वारा पढ़ा जाएगा ताकि यह बिना किसी त्रुटि के गुण बना सके।
$ dom = new DOMDocument ('1.0' , 'यूटीएफ -8'); $ रूट = $ dom- & gt; बनाएँ एलेमेंट ('MyRoot'); $ Root- & gt; setAttributeNS ( 'http://www.w3.org/2000/xmlns/','xmlns:xlink','http://www.w3.org/1999/xlink'); $ Dom- & gt; appendChild ($ जड़); $ Tmp = $ dom- & gt; बनाएँ दस्तावेज़फ़्रेग्मेंट (); $ ठीक = $ tmp- & gt; एपेंड XML ('& lt; ग्राफिक xmlns: xlink = "http://www.w3.org/1999/xlink" xlink: href = "file123.ext" / & gt;'); $ Dom- & gt; documentElement- & gt; appendChild ($ tmp); मरने ($ Dom- & gt; saveXML ());
आउटपुट
& lt;? Xml संस्करण = "1.0" एन्कोडिंग = "यूटीएफ -8"? & Gt; & Lt; MyRoot xmlns: xlink = "http://www.w3.org/1999/xlink" & gt; & gt; ग्राफिक xlink: href = "file123.ext" / & gt; & lt; / MyRoot & gt;
Comments
Post a Comment