2013-08-07 4 views
0

Я работаю с телефоном Windows. Мне нужно получить данные из XML, которые я получаю, разместив на сервере следующимwindows phone parse xml to string

try 
     { 
      HttpWebRequest webRequest = (HttpWebRequest)asynchronousResult.AsyncState; 
      HttpWebResponse response; 
      response = (HttpWebResponse)webRequest.EndGetResponse(asynchronousResult); 

      Stream streamResponse = response.GetResponseStream(); 
      StreamReader streamReader = new StreamReader(streamResponse); 
      var Response = streamReader.ReadToEnd(); 
      streamResponse.Close(); 
      streamReader.Close(); 
      response.Close(); 
      if (Response == "") 
      { 
       //show some error msg to the user   


      } 
      else 
      { 
       //Your response will be available in "Response" 
       string mystring = Response.ToString(); 
       //Mytext.Text = mystring; 
       Debug.WriteLine(mystring); 


       //TRY 

       XDocument xd = XDocument.Parse(mystring); 

       Debug.WriteLine(xd); 

       } 
     } 

я получить выход на отладочный экране следующим образом

<User><Number>00000</Number><Id>1234</Id><TextKey>1A1A1A1A1A1A1A1A</TextKey><Agent>WindowsPhone</Agent></User> 
<User> 
    <Number>00000</Number> 
    <Id>1234</Id> 
    <TextKey>1A1A1A1A1A1A1A1A</TextKey> 
    <Agent>WindowsPhone</Agent> 
</User> 

Мне нужно извлечь каждый элемент из этого XML и используйте его как строки, int и т. д. Мне не нужно указывать его в списке - мне нужен каждый элемент отдельно

Как я могу это достичь?

ответ

1

Вы можете попробовать:

XDocument xd = XDocument.Load(XmlReader.Create(new StringReader(mystring))); 

для загрузки вашей строки в XDocument.

И

XElement root = xd.Root; 
foreach (XElement el in root.Descendants()) 
{ 
    if (el.Name == "User") 
    { 

    } 
} 

для разбора вашего XML на Windows Phone.

У вас есть дополнительная информация о XElement here!