📅  最后修改于: 2021-01-06 06:03:52             🧑  作者: Mango
它是一个编程接口,使我们能够在XML文档上编写LINQ查询以获取所需的数据。
LINQ to XML将XML文档带入内存,并允许我们在内存XML文档中编写LINQ查询以获取XML文档元素和属性。
要在我们的应用程序中使用LINQ to XML功能,我们需要添加“ System.Xml.Linq ”命名空间引用。
这是在XML数据上编写LINQ查询的语法。
XElement doc = XElement.Load(Server.MapPath("EmployeeDetails.xml"));
var result = from ed in doc.Descendants("employee")
select new
{
Id = ed.Element("empid").Value,
Name = ed.Element("empname").Value
};
从以上语法中,我们正在读取xml文件的数据并编写LINQ查询以从XML获取所需的数据。
现在,我们将通过示例了解如何在asp.net Web应用程序中将XML与LINQ查询一起使用。要创建该应用程序,我们必须遵循以下步骤。打开Visual Studio->转到文件->选择新建->选择项目,如下所示。
选择项目后,将打开一个新的弹出窗口。从那里我们必须选择“ Asp.Net Empty Web Application ”,名称为“ LINQtoXML”,然后单击“ OK ”按钮,如下所示:
为了使用LINQ和XML,我们将在应用程序中添加一个XML文件。为此,我们将在应用程序上单击鼠标右键->选择添加->选择新项目,如下所示:
单击新项目后,将打开一个新弹出窗口,从数据部分中选择XML文件→为XML File-> Click Add按钮命名,如下所示。
添加文件后,我们将打开它并添加一些记录,如下所示:
1
Akshay
10000
Female
2
Shalu
20000
Female
3
Akki
30000
Male
4
Sateesh
50000
Male
5
Sushmitha
60000
Female
现在,我们将在我们的应用程序中显示“ XMLFile.xml ”数据。为此,我们必须右键单击应用程序→选择“添加”->“新建项”->“选择Web表单”->“将名称作为Default1.aspx” ,然后单击“确定”按钮。
现在打开“ Default1.aspx”页面,并编写如下所示的代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
现在打开文件后面的代码并编写以下代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml.Linq;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
XElement doc = XElement.Load(Server.MapPath("XMLFile.xml"));
var result = from ed in doc.Descendants("employee")
where Convert.ToInt32(ed.Element("salary").Value) >= 20000
select new
{
Id = ed.Element("empid").Value,
Name = ed.Element("empname").Value,
Salary = ed.Element("salary").Value,
Gender = ed.Element("gender").Value
};
gvDetails.DataSource = result;
gvDetails.DataBind();
}
}
}
如果观察上面的示例,我们添加了类似“ System.Xml.Linq ”的命名空间,它将允许我们读取xml文档数据,并且我们可以在XML数据上写入条件以获取“ Salary ”大于等于的记录。到“ 2000”。现在,我们将运行并查看应用程序的结果。
输出值