इस तरह एक XML मान लिया जाये कि शामिल हैं:deserialize तत्व मूल्य स्ट्रिंग के रूप में हालांकि यह मिश्रित सामग्री
<my:Root xmlns:my="http://foo/bar">
<my:FieldBasic>content</my:FieldBasic>
<my:FieldComplex>
<html xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
<div><h1>content</h1></div>
</html>
</my:FieldComplex>
<my:Root>
और एक वर्ग की तरह:
[Serializable]
[XmlType(AnonymousType = true, Namespace = "http://foo/bar")]
[XmlRoot(ElementName = "Root", Namespace = "http://foo/bar", IsNullable = false)]
public class MyRoot
{
public string FieldBasic { get; set; }
public string FieldComplex { get; set; }
}
मैं कैसे FieldComplex
के भीतर एक स्ट्रिंग के लिए <my:FieldComplex>
deserialize करते हैं? जब यह HTML को अंदर पाता है तो यह विफल हो जाता है।
<html xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
<div><h1>content</h1></div>
</html>
अगर मैं FieldComplex
रूप public object FieldComplex
(अर्थात xsd:anyType
) घोषित यह थोड़े से काम करता है और मैं एक XMLNode[]
जो अंदर मैं उपयोग कर सकते हैं मिल: मैं यह मुझे इस सामग्री के साथ एक स्ट्रिंग दे बनाना चाहते हैं। के रूप में वस्तु <my:FieldComplex>
पर इन विशेषताओं से जोड़ दिया जाएगा
<my:Root xmlns:my="http://foo/bar">
<my:FieldBasic>content</my:FieldBasic>
<my:FieldComplex>content</my:FieldComplex>
<my:Root>
FieldComplex
घोषणा:
लेकिन मैं FieldComplex
जरूरत क्रमबद्धता एक्सएमएल एचटीएमएल शामिल नहीं होंगे के लिए के रूप में क्रमांकन के लिए प्रकार स्ट्रिंग की हो सकता है, यह तरह होगा तत्व:
xmlns:q1="http://www.w3.org/2001/XMLSchema" p3:type="q1:string" xmlns:p3="http://www.w3.org/2001/XMLSchema-instance
और मुझे यह नहीं चाहिए। मैं serialization और deserialization के लिए विभिन्न वर्गों का उपयोग नहीं करना चाहता।
तो, क्या यह संभव है?
बनाने के एक लंबे कहानी कम, यह इस वर्ग के लिए संभव है:
public class MyRoot
{
public string FieldBasic { get; set; }
public string FielComplex { get; set; }
}
को क्रमानुसार यह करने के लिए:
<my:Root xmlns:my="http://foo/bar">
<my:FieldBasic>content</my:FieldBasic>
<my:FieldComplex>content</my:FieldComplex>
<my:Root>
और इस से deserialize:
<my:Root xmlns:my="http://foo/bar">
<my:FieldBasic>content</my:FieldBasic>
<my:FieldComplex>
<html xml:space="preserve" xmlns="http://www.w3.org/1999/xhtml">
<div><h1>content</h1></div>
</html>
</my:FieldComplex>
<my:Root>
?
पीएस बस "क्यों?" समझाओ। मेरे पास एक वर्ग चुड़ैल धारावाहिक हो जाता है। धारावाहिक एक्सएमएल तब आवेदन में कई नोड्स के माध्यम से यात्रा करता है और अंत में वापस आता है लेकिन ऊपर की तरह बदल जाता है। परतें कुछ एक्सएमएल सत्यापन करते हैं और इनपुट पर अतिरिक्त गुण या तत्व होने से सत्यापन विफल हो जाता है और प्रवाह बंद हो जाता है। मैं रिटर्न एक्सएमएल को उसी कक्षा में मैप करना चाहता हूं। सामग्री केवल देखने का यह बिंदु से तार है लेकिन निश्चित रूप क्रमबद्धता/अक्रमांकन :(
इस समाधान के लिए बहुत बहुत धन्यवाद :)। यही वह है जिसकी तलाश में मैं हूं। – Beniamin