需要您的幫助來設置XML反序列化的xml屬性。使用xml元素/屬性對XML進行反序列化
這是我的輸入XML:
<form>
<question id="QnA">
<answer>AnswerforA</answer>
</question>
<question id="QnB">
<answer>AnswerforB</answer>
</question>
<question id="QnC">
<answer>AnswerforC</answer>
</question>
</form>
每個問題元素標籤的ID對應於一個類的屬性和它的值是對應的答案元素的innerText。
的cs文件看起來像
public class Test
{
private string qnaAns;
private string qnbAns;
private string qncAns;
public string QnA
{
get{ return qnaAns;}
set{qnaAns = value;}
}
public string QnB
{
get{ return qnbAns;}
set{qnbAns = value;}
}
public string QnC
{
get{ return qncAns;}
set{qncAns = value;}
}
}
我用的是follwing代碼反序列化
XmlSerializer ser = new XmlSerializer(typeof(Test));
XmlReader xr = new xmlReader(inputxml);
Test t = ser.Deserialize(xr) as Test;
請讓我知道如何設置的XML元素/屬性的測試類做到這一點。
感謝您的時間。
我有點懶得通過您的代碼看,並找出您遇到什麼麻煩,所以請讓我們知道什麼是問題你有。 – Kiril 2011-10-17 13:26:28
你應該構建你的DTO來表示你試圖序列化的數據,否則你將不得不實現'IXmlSerializable'(不好玩)。請參閱Matt的回答,以獲得第一個(也是正確的,IMO)選項的示例。 – 2011-10-17 13:31:08