सभी, मैं एक साबुन लिफाफा xml दस्तावेज़ उदाहरण बनाना चाहता हूं।मैं .NET में XAttribute में नेमस्पेस उपसर्ग कैसे सेट करूं?
<soap:Envelope soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding" xmlns:soap="http://www.w3.org/2001/12/soap-envelope"></soap:Envelope>
मैं System.Xml.Linq
उपयोग कर रहा हूँ यह करने के लिए, लेकिन मैं encodingStyle
विशेषता को soap
उपसर्ग जोड़ने का तरीका समझ नहीं सकता।
XNamespace ns = XNamespace.Get("http://www.w3.org/2001/12/soap-envelope");
XAttribute prefix = new XAttribute(XNamespace.Xmlns + "soap", ns);
XAttribute encoding = new XAttribute("encodingStyle", "http://www.w3.org/2001/12/soap-encoding");
XElement envelope = new XElement(ns + "Envelope", prefix, encoding);
जो मुझे देता है
<soap:Envelope encodingStyle="http://www.w3.org/2001/12/soap-encoding" xmlns:soap="http://www.w3.org/2001/12/soap-envelope"></soap:Envelope>
आप XAttribute
का उपयोग एक तत्व के लिए एक उपसर्ग जोड़ने के लिए, मैं XAttribute
उपयोग कर सकते हैं एक XAttribute
करने के लिए एक उपसर्ग जोड़ने के लिए:
अब तक, मैं इस राशि ??!
धन्यवाद, पी
धन्यवाद। क्या यह सिर्फ मुझे है या यह वास्तव में खराब डिजाइन एपीआई है? कुछ "चालाक" ऑपरेटर ओवरलोडिंग लेकिन कोई कन्स्ट्रक्टर अधिभार एक ही काम नहीं करता है? क्या? –
ध्यान दें कि XAttribute कन्स्ट्रक्टर 'XName' लेता है। 'स्ट्रिंग' का' एक्सनाम 'में एक निहित रूपांतरण है, लेकिन आप एक स्ट्रिंग नाम में' XNamespace' "जोड़कर भी बना सकते हैं। System.Xml.Linq ऑपरेटर ओवरलोडिंग और निहित/स्पष्ट रूपांतरण ऑपरेटर का व्यापक रूप से उपयोग करता है; उदाहरण के लिए, '(int) elem.Attribute (" count ")' 'count' विशेषता (' elem' पर) के स्ट्रिंग मान को पढ़ेगा, इसे पूर्णांक के रूप में पार्स करें, और मान वापस कर देगा। यह बहुत खोजने योग्य नहीं है, लेकिन परिणाम बहुत संक्षेप/terse/समझ में नहीं आता है (उपयुक्त के रूप में हटाएं) कोड। –