0

以下のXMLのMain_Screenノードのみの要素を解析する方法。

<?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>

以下のコードを試しましたが、すべての要素が解析されていますmain_screenノードの下の要素のみを解析したいのですが、

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

        var data = (from query in loadedData.Descendants("row")

                    select new tutstat
                    {
                        btn_name = (string)query.Element("btn_name"),
                        strng = (string)query.Element("strng"),
                    }).ToList();

plzは私に指示します、ありがとう!

4

1 に答える 1

0

Root.Element("Main_Screen")呼び出し前に使用するのと同じくらい簡単なようDescendantsです:

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の規則に準拠し、より説明的になるように、すべての名前を修正する必要があります。

于 2012-10-18T06:13:15.533 に答える