8,497
社区成员
发帖
与我相关
我的任务
分享
<?xml version="1.0" encoding="utf-8"?>
<Table>
<Row>
<Column Name="ID">1</Column>
<Column Name="Name">张san</Column>
<Column Name="Age">20</Column>
</Row>
<Row>
<Column Name="ID">2</Column>
<Column Name="Name">李四</Column>
<Column Name="Age">16</Column>
</Row>
<Row>
<Column Name="ID">3</Column>
<Column Name="Name">王五</Column>
<Column Name="Age">30</Column>
</Row>
</Table>
UserInfo.cs
public string Name{get;set;}
.....
IEnumerable<UserInfo> _list;
XElement xmlPage = XElement.Parse(xml);
//更正一下 这样写更好一些
var query = from x in xmlPage.Descendants("Row")
from y in x.Elements("Column")
where y.Attribute("Name").Value=="Age"
&& int.Parse(y.Value)<25
select new UserInfo
{
ID=x.Elements("Column").First().Value,
Name=x.Elements("Column").Skip(1).First().Value,
Age=x.Elements("Column").Last().Value
};
class UserInfo
{
public string ID{get;set;}
public string Name{get;set;}
public string Age{get;set;}
}
var rows = xe.Descendants("Column").Where(s => s.Attribute("Name").Value == "Age" && (int)s < 25)
.Select(s => s.Parent);
void Main()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Table>
<Row>
<Column Name=""ID"">1</Column>
<Column Name=""Name"">张san</Column>
<Column Name=""Age"">20</Column>
</Row>
<Row>
<Column Name=""ID"">2</Column>
<Column Name=""Name"">李四</Column>
<Column Name=""Age"">16</Column>
</Row>
<Row>
<Column Name=""ID"">3</Column>
<Column Name=""Name"">王五</Column>
<Column Name=""Age"">30</Column>
</Row>
</Table>
";
XElement xmlPage = XElement.Parse(xml);
//更正一下 这样写更好一些
var query = from x in xmlPage.Descendants("Row")
from y in x.Elements("Column")
where y.Attribute("Name").Value=="Age"
&& int.Parse(y.Value)<25
select x;
foreach(var q in query)
{
Console.WriteLine(q);
}
/*
<Row>
<Column Name="ID">1</Column>
<Column Name="Name">张san</Column>
<Column Name="Age">20</Column>
</Row><Row>
<Column Name="ID">2</Column>
<Column Name="Name">李四</Column>
<Column Name="Age">16</Column>
</Row>
*/
}
void Main()
{
string xml = @"<?xml version=""1.0"" encoding=""utf-8""?>
<Table>
<Row>
<Column Name=""ID"">1</Column>
<Column Name=""Name"">张san</Column>
<Column Name=""Age"">20</Column>
</Row>
<Row>
<Column Name=""ID"">2</Column>
<Column Name=""Name"">李四</Column>
<Column Name=""Age"">16</Column>
</Row>
<Row>
<Column Name=""ID"">3</Column>
<Column Name=""Name"">王五</Column>
<Column Name=""Age"">30</Column>
</Row>
</Table>
";
XElement xmlPage = XElement.Parse(xml);
var query = from x in xmlPage.Descendants("Row")
where int.Parse(x.Elements("Column").Last().Value)<25
select x;
foreach(var q in query)
{
Console.WriteLine(q);
}
/*
<Row>
<Column Name="ID">1</Column>
<Column Name="Name">张san</Column>
<Column Name="Age">20</Column>
</Row><Row>
<Column Name="ID">2</Column>
<Column Name="Name">李四</Column>
<Column Name="Age">16</Column>
</Row>
*/
}