मैं एक्सएचटीएमएल दस्तावेज़ बनाने के लिए System.Xml.Linq
का उपयोग करने का प्रयास कर रहा हूं।XNlement को सभी बच्चों के नोड्स में XNamespace का उपयोग किए बिना डिफ़ॉल्ट नामस्थान के साथ XElement कैसे बनाएं
http://www.w3.org/1999/xhtml
मैं बना सकते हैं XElement
नोड्स आसानी से पर्याप्त इस नाम स्थान के दायरे वाला, एक XNamespace
उपयोग करते हुए, इस तरह::
XNamespace xhtml = "http://www.w3.org/1999/xhtml";
// ...
new XElement(xhtml + "html", // ...
इस प्रकार, मेरी पेड़ में नोड्स के विशाल बहुमत इस नाम स्थान का उपयोग करना चाहिए हालांकि, मैं HTML कोड नोड्स बनाने वाले सभी कोडों में XNamespace
उपलब्ध नहीं करना चाहता हूं, और मुझे प्रत्येक XElement
(और XAttribute
) नाम उपसर्ग करना होगा, जैसा कि मैं तदनुसार बनाता हूं।
एक्सएमएल टेक्स्ट प्रारूप स्वयं ही इस आवश्यकता को ध्यान में रखता है, और आरक्षित xmlns
विशेषता का उपयोग करके वंशजों द्वारा विरासत में प्राप्त एक पूर्वजों में एक डिफ़ॉल्ट नामस्थान सेट करने की अनुमति देता है। मैं System.Xml.Linq
का उपयोग कर कुछ ऐसा करना चाहता हूं।
क्या यह संभव है?
यह समाधान भारी और डरावना दिखता है, लेकिन यह वास्तव में अच्छा, हल्का, एक्स्टेंसिबल है, आपके कोड को छोटा बनाता है और तत्व या विशेषता नामों में टाइपो के खिलाफ सुरक्षा करता है। वाह! –
मुझे बस समझ में आया कि इन सभी फायदे क्यों हैं। हालांकि सवाल केवल "मैं स्वचालित नामस्थान चाहता हूं", सरल और सौहार्दपूर्ण बात यह है कि "मुझे कुछ सुविधा शॉर्टकट चाहिए जो HTML के कुछ बुनियादी ज्ञान को समाहित करते हैं", जिनमें से नामस्थान प्रभाव केवल एक अच्छा उप-उत्पाद है। –