<Info>
<ID>109001</ID>
<Field>aa</Field>
</Info>
<Info>
<ID>109001</ID>
<Field>bbb</Field>
</Info>
<Info>
<ID>109002</ID>
<Field>ccc</Field>
</Info>
<Info>
<ID>109003</ID>
<Field>ccc</Field>
</Info>
我想查询ID,其结果是:
109001
109002
109003
如果重复的ID就取一个就行用Linq to xml 怎么查?或是用其他方法怎么查呢?
List<string> result= new List<string>();
XDocument doc=XDocument.Load("xml");
var query = from SID in doc.Descendants("ID") select SID.Value;
foreach (var item in query)
{
result.Add(item);
}
<ID>109001</ID>
<Field>aa</Field>
</Info>
<Info>
<ID>109001</ID>
<Field>bbb</Field>
</Info>
<Info>
<ID>109002</ID>
<Field>ccc</Field>
</Info>
<Info>
<ID>109003</ID>
<Field>ccc</Field>
</Info></root>";
var obj = ((XDocument.Parse(xml).Descendants("Info")).SelectMany(s => s.Elements("ID"))).Distinct();
string t = "";
foreach (var s in obj)
{
t += s + "<br />";
}
Response.Write(t);
XmlDocument doc = new XmlDocument();
doc.LoadXml("");
foreach (XmlNode node in doc.GetElementsByTagName("id"))
Console.WriteLine(node.InnerXml);
http://www.w3school.com.cn/xpath/xpath_syntax.asp
我也得这个Linq没有帮我把重复的ID的值去掉!
var query = (from ID in xelem.Descendants("Info") select ID.Element("ID")).Distinct() ;
groub by 的方法怎么实现
1、查询xml数据存到IList<T>里面。
IList<T> xcList =new List<T>
2、用Linq查询
var query = (from ID xcList select ID.ID).Distinct() ;
这样查询就能过滤重复数据了!