下面的实例代码使用LINQ to XML查询XML文件中指定名称的元素,并将元素及其ID属性的值显示在网页中。具体步骤如下。
(1)将Books.xml文件的访问地址转换为物理地址。
(2)使用XElement类的Load()方法读取Books.xml文件的内容,并创建为xe实例。
(3)使用LINQ表达式查询xe实例中名称为“Book”的、子元素Name的值为“Book 0002”的元素,查询结果保存为elements变量。
(4)在网页中显示elements变量中元素的名称及其ID属性的值。
private void QueryElementByName()
{ ///导入XML文件
string xmlFilePath = Server.MapPath("Data/Books.xml");
XElement xes = XElement.Load(xmlFilePath);
///查询元素
IEnumerable<XElement> elements = from e in xes.Elements("Book")
where (string)e.Element("Name") == "Book 0002"
select e;
///输出元素的ID属性的值
foreach (XElement xe in elements)
{
Response.Write(xe.Name.LocalName + ":" + xe.Attribute("ID").Value + "<br />");
}
}
Sample_11项目中的QueryXML.aspx页面测试了上述实例代码(QueryElementByName()函数),测试结果如图所示。