सी # में के रूप में, मैं एक्सएमएल में ClassA क्रमानुसार करने कोशिश कर रहा हूँ:को क्रमानुसार वर्ग के ToString() मान XmlElement
[Serializable]
public ClassA
{
[XmlElement]
public string PropertyA { get; set; } // works fine
[XmlElement]
public ClassB MyClassB { get; set; }
}
[Serializable]
public ClassB
{
private string _value;
public override string ToString()
{
return _value;
}
}
दुर्भाग्य से, धारावाहिक परिणाम है:
<PropertyA>Value</PropertyA>
<ClassB />
इसके बजाय, मैं यह चाहता हूँ होने के लिए:
<PropertyA>Value</PropertyA>
<ClassB>Test</ClassB>
... _value == "Test"
मानते हुए। मैं यह कैसे करु? के लिए कक्षा बी में सार्वजनिक संपत्ति प्रदान करने के लिए क्या मैं है? धन्यवाद!
अद्यतन:
ClassB में IXmlSerializable इंटरफेस (shown here # 12) लागू करने से, निम्न XML उत्पन्न होता है:
<PropertyA>Value</PropertyA>
<ClassB>
<Value>Test</Value>
</ClassB>
यह समाधान लगभग स्वीकार्य है, लेकिन यह करने के लिए अच्छा होगा टैग से छुटकारा पाएं। कोई विचार?
आह, आपने मुझे समस्या दिखा दी है! मैं 'WriteStleString (" Value ", _value)' WriteString (_value) 'के बजाय 'का उपयोग कर रहा था। अब मेरा एक्सएमएल जिस तरह से मैं चाहता हूं उसे दिखता है: ' टेस्ट ' –
Pakman