Windows phone 7 phone7中的XML解析
如何在下面的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 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();