Windows Phone 用の MS Studio 2010 Express を使用してアプリをビルドします。私のアプリでは、http 応答を受け取り、それを文字列で読み取ってから、クラス オブジェクトにデシリアライズします。List コレクションをプロパティとして持たないクラスでも問題なく動作します。List プロパティを持つクラスをデシリアライズすると、このようなエラーが発生しました
Error in line 12 position 5. Expecting state 'Element'.. Encountered 'EndElement' with name 'ContactList', namespace 'http://schemas.datacontract.org/2004/07/DataObjects’.
xml を読み取って、値をクラスに割り当てることができると思います。XDocument .PraseメソッドまたはxlmDocument.Loadを使用するために、xmlファイルと多くのWebサイトの言及を読み取るために検索しました。ただし、 System.Xml.Ling を参照として追加しても、 XDocument .Parse メソッドまたは xlmDocument が表示されません。次の値をクラスに割り当てるために何をすべきか誰か教えてくれますか?
私のクラスオブジェクトがあります:
public class CallDetails
{
public int id { get; set; }
public string summary { get; set; }
public string errorMsg { get; set; }
public int parentCallid { get; set; }
public string parentCallURL { get; set; }
public string assignedTo { get; set; }
public string OrgName { get; set; }
public DateTime onHoldSince { get; set; }
public DateTime onHoldUntil { get; set; }
public string requester { get; set; }
public bool isOnHold { get; set; }
private List<Contact> m_ContactList = new List<Contact>();
public List<Contact> ContactList
{
get { return m_ContactList; }
}
}
応答があります:
<?xml version="1.0" encoding="utf-8"?><CallDetails xmlns:i="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.datacontract.org/2004/07/DataObjects">
<ContactList>
<Contact>
<Method>PriPhone</Method>
<Number>(604) 555-1234</Number>
</Contact>
<Contact>
<Method>Fax</Method>
<Number>(604)555-1234</Number>
</Contact>
</ContactList>
<errorMsg
i:nil="true" />
<id>0</id>
<isOnHold>false</isOnHold>
<onHoldSince>0001-01-01T00:00:00</onHoldSince>
<onHoldUntil>0001-01-01T00:00:00</onHoldUntil>
<parentCallURL>/Call/349551</parentCallURL>
<parentCallid>0</parentCallid>
<requester>Peter </requester>
<summary>Mobile Application Research</summary>
</CallDetails>