Windows phone 7 phone7中的XML解析

Windows phone 7 phone7中的XML解析,windows-phone-7,xml-parsing,windows-phone-7.1,Windows Phone 7,Xml Parsing,Windows Phone 7.1,如何在下面的XML中只解析主屏幕节点的元素 <?xml version="1.0" encoding="utf-8" ?> <plist version="1.0"> <Main_Screen> <row> <btn_name>Buyer Programs</btn_name> </row> <row>

如何在下面的XML中只解析主屏幕节点的元素

<?xml version="1.0" encoding="utf-8" ?>

<plist version="1.0">
<Main_Screen>
        <row>
            <btn_name>Buyer Programs</btn_name>

        </row>
        <row>
            <btn_name>Seller�s Programs</btn_name>

        </row>
<Main_Screen>
<Buyer>
       <row>
           <btn_name>buy_bac</btn_name>

       </row>
       <row>
           <btn_name>buy_hme</btn_name>

     </row>
<Buyer>
<Seller>
   <row>
       <btn_name>buy_bac</btn_name>

   </row>
   <row>
       <btn_name>buy_hme</btn_name>

 </row>
<seller>
<Lender>
   <row>
       <btn_name>buy_bac</btn_name>

   </row>
   <row>
       <btn_name>buy_hme</btn_name>

 </row>
<lender>
<abcd>
   <row>
       <btn_name>buy_bac</btn_name>

   </row>
   <row>
       <btn_name>buy_hme</btn_name>

 </row>
<abcd>

</plist>

请告诉我,谢谢你

听起来就像在调用
子体之前使用
Root.Element(“主屏幕”)
一样简单:

XDocument loadedData = XDocument.Load("HelpScreenData.xml");

var data = loadedData.Root
                     .Element("Main_Screen")
                     .Descendants("row") // Or .Elements("row")
                     .Select(x => new tutstat 
                             {
                                btn_name = (string) x.Element("btn_name"),
                                strng = (string) x.Element("strng"),
                             })
                     .ToList();
我已将其从查询表达式更改为一个简单的方法调用堆栈,因为查询表达式只是在添加噪音


您还应该修改所有名称,以符合.NET约定,并且更具解释性。

,在上面,如果我想解析两个节点下的元素,例如,我如何做到这一点)仅在主屏幕和买方下方的元素?@yogesh:嗯,您可以使用
根.elements(“主屏幕”).Concat(根.elements(“买方”).substands(“行”)…
@yogesh:应该没问题,这是LINQ对对象的一部分。我必须看一个具体的例子才能看出问题所在。我尝试了Root。Elements(“Main_Screen”)没有concat属性。@yogesh:它不是属性,而是扩展方法。
XDocument loadedData = XDocument.Load("HelpScreenData.xml");

var data = loadedData.Root
                     .Element("Main_Screen")
                     .Descendants("row") // Or .Elements("row")
                     .Select(x => new tutstat 
                             {
                                btn_name = (string) x.Element("btn_name"),
                                strng = (string) x.Element("strng"),
                             })
                     .ToList();