<cat>
<records>
<item>
<id>1</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>2</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>3</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>4</id>
<name>test1</name>
<value>xxxbbb</value>
</item>
<item>
<id>5</id>
<name>test2</name>
<value>xxxbbb</value>
</item>
</records>
</cat>用xml.linq怎么查询name为test的所有节点,
并取出所有节点的值,绑定到dataGridview
XElement data = XElement.Load(path);
var query = from x in data.Descendants("records")
from item in x.Elements("item")
select new
{
domain_id=item.Element("id").Value,
name=item.Element("name").Value,
value=item.Element("value").Value
};
dataGridView1.DataSource = query.ToList();
在这个基础上要怎么改进?
<records>
<item>
<id>1</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>2</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>3</id>
<name>test</name>
<value>xxxbbb</value>
</item>
<item>
<id>4</id>
<name>test1</name>
<value>xxxbbb</value>
</item>
<item>
<id>5</id>
<name>test2</name>
<value>xxxbbb</value>
</item>
</records>
</cat>用xml.linq怎么查询name为test的所有节点,
并取出所有节点的值,绑定到dataGridview
XElement data = XElement.Load(path);
var query = from x in data.Descendants("records")
from item in x.Elements("item")
select new
{
domain_id=item.Element("id").Value,
name=item.Element("name").Value,
value=item.Element("value").Value
};
dataGridView1.DataSource = query.ToList();
在这个基础上要怎么改进?
XElement element = XElement.Load(path);
var xml = from e in element.Descendants("item") where e.Element("name").Value=="test" select e;
foreach (var x in xml)
Console.WriteLine("id:{0} name:{1} value:{2}", x.Element("id").Value, x.Element("name").Value, x.Element("value").Value);
Console.WriteLine();
Console.ReadLine();
var query = from item in xdoc.Descendants("item")
where item.Element("name").First().Value == "test"
select new
{
domain_id=item.Element("id").Value,
name=item.Element("name").Value,
value=item.Element("value").Value
};
First().Value == "test"