在Windows Phone 8中解析xml数据

时间:2013-07-09 06:08:22

标签: c# xml windows-phone-8

我有一个xml字符串来自Web服务器,如下所示

    <soapenv:Body xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
  <doLoginResponse xmlns="http://login.mss.uks.com">
    <doLoginReturn>
      <errorCode>IPH_I_LGN_002</errorCode>
      <errorMsg>Logged in sucessfully</errorMsg>
      <number>13733479454157901</number>
    </doLoginReturn>
  </doLoginResponse>
</soapenv:Body>

我想解析xml字符串,并希望打印errorCode,errorMsg,number。我怎么能这样做。

提前致谢。

1 个答案:

答案 0 :(得分:5)

您可以使用XDocument访问XML中的元素。以下代码将在MessageBox中打印 errorCode errorMsg number 元素:

    XDocument doc = XDocument.Parse("Your XML string");
    var errorCode = doc.Descendants(XName.Get("errorCode", "http://login.mss.uks.com")).FirstOrDefault();
    var errorMsg = doc.Descendants(XName.Get("errorMsg", "http://login.mss.uks.com")).FirstOrDefault();
    var number = doc.Descendants(XName.Get("number", "http://login.mss.uks.com")).FirstOrDefault();

    MessageBox.Show(String.Format("Error code: {0}\nMessage: {1}\nNumber: {2}", errorCode.Value, errorMsg.Value, number.Value));

这将显示一个MessageBox,其中包含以下内容:

  

错误代码:IPH_I_LGN_002
     消息:已成功登录      编号:13733479454157901