2013-07-23 7 views
5

मुझे जावास्क्रिप्ट का उपयोग करके कुछ एक्सएमएल बनाने की जरूरत है। एक और कठिन चीजों में से एक यह है कि मुझे एक एक्सएमएल योग्य नाम के साथ नोड की टेक्स्ट सामग्री को पॉप्युलेट करने की आवश्यकता है। यही है, एक स्थानीय नाम और उपसर्ग, जैसे कि myns: myelement।जावास्क्रिप्ट में एक्सएमएल नेमस्पेस नोड कैसे बनाएं?

कठिनाई यह है कि XML दस्तावेज़ में नेमस्पेस के लिए कोई अन्य तत्व या विशेषता नहीं है जिसमें उपसर्ग को बाध्य किया जाना चाहिए। तो मुझे एक उपसर्ग परिभाषित करने के लिए, संलग्न तत्व में नामस्थान नोड (xmlns) जोड़ने की आवश्यकता है। उदाहरण के लिए: -

<myElement xmlns:myprefix="http://something">myprefix:foo</myElement> 

मैं जावास्क्रिप्ट में xmlns नाम स्थान नोड को जोड़ने के लिए एक अच्छा तरीका नहीं देख सकता।

 // Hacky way to get a namespace prefix definition. TODO: can we do something nicer? 
     var prefix = "ixe"; 
     requestElement.setAttributeNS(inputTypes[0].namespaceURL, prefix + ":" + "def", ""); 
     inputElement.textContent = prefix + ":" + inputTypes[0].localName; 

मैं वांछित नाम स्थान और एक मनमाना उपसर्ग के साथ एक अन्यथा-अनावश्यक विशेषता बना रहा हूं -: वर्तमान में, मैं निम्नलिखित भयानक हैक किया है। यह जेनरेट किए गए दस्तावेज़ को नेमस्पेस के उपसर्ग को परिभाषित करने के लिए xmlns नेमस्पेस नोड का कारण बनता है।

नवीनतम फ़ायरफ़ॉक्स और क्रोम पर, लेकिन आईई पर नहीं, कोई inputElement.setAttribute("xmlns:" + PREFIX, inputType.namespaceUri); कर सकता है। लेकिन मुझे ब्राउज़र-तटस्थ समाधान चाहिए।

लेकिन मैं उस डमी विशेषता को नहीं बल्कि अधिक बनाना चाहता हूं। निश्चित रूप से, नामस्थान नोड को स्पष्ट रूप से बनाना संभव होना चाहिए। मुझे क्या याद आया?

+2

हाय, तो आप इस पर http://stackoverflow.com/questions/9160418/xml-node-add-an-attribute-with-a-namespace देखने के लिए सक्षम हो सकता है –

उत्तर

संबंधित मुद्दे