它是一个编程接口, 使我们能够在XML文档上编写LINQ查询以获取所需的数据。
LINQ to XML将XML文档带入内存, 并允许我们在内存XML文档中编写LINQ查询以获取XML文档元素和属性。
要在我们的应用程序中使用LINQ to XML功能, 我们需要添加”
System.Xml.Linq”
命名空间引用。
LINQ to XML的语法
这是在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获取所需的数据。
LINQ to XML示例
现在, 我们将通过示例了解如何在asp.net Web应用程序中将XML与LINQ查询一起使用。要创建该应用程序, 我们必须遵循以下步骤。打开Visual Studio-> 转到文件-> 选择新建-> 选择项目, 如下所示。
文章图片
选择项目后, 将打开一个新的弹出窗口。从那里我们必须选择” Asp.Net空Web应用程序” , 将名称命名为” LINQtoXML” , 然后单击” 确定” 按钮, 如下所示:
文章图片
为了使用LINQ和XML, 我们将在我们的应用程序中添加一个XML文件。为此, 我们将右键单击应用程序-> 选择添加-> 选择新项目, 如下所示:
文章图片
单击新项目后, 将打开一个新弹出窗口, 从数据部分中选择XML文件→为XML File-> Click Add按钮命名, 如下所示。
文章图片
添加文件后, 我们将打开它并添加一些记录, 如下所示:
<
?xml version="1.0" encoding="utf-8" ?>
<
Employees>
<
employee>
<
empid>
1<
/empid>
<
empname>
Akshay<
/empname>
<
salary>
10000<
/salary>
<
gender>
Female<
/gender>
<
/employee>
<
employee>
<
empid>
2<
/empid>
<
empname>
Shalu<
/empname>
<
salary>
20000<
/salary>
<
gender>
Female<
/gender>
<
/employee>
<
employee>
<
empid>
3<
/empid>
<
empname>
Akki<
/empname>
<
salary>
30000<
/salary>
<
gender>
Male<
/gender>
<
/employee>
<
employee>
<
empid>
4<
/empid>
<
empname>
Sateesh<
/empname>
<
salary>
50000<
/salary>
<
gender>
Male<
/gender>
<
/employee>
<
employee>
<
empid>
5<
/empid>
<
empname>
Sushmitha<
/empname>
<
salary>
60000<
/salary>
<
gender>
Female<
/gender>
<
/employee>
<
/Employees>
现在, 我们将在应用程序中显示” XMLFile.xml” 数据。为此, 我们必须右键单击应用程序→选择” 添加” -> ” 新建项目” -> ” 选择Web表单” -> ” 将名称作为Default1.aspx” , 然后单击” 确定” 按钮。
现在打开” Default1.aspx” 页面, 并编写如下代码:
<
%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<
!DOCTYPE html>
<
html xmlns="http://www.w3.org/1999/xhtml">
<
head runat="server">
<
title>
<
/title>
<
/head>
<
body>
<
form id="form1" runat="server">
<
div class="GridviewDiv">
<
asp:GridView ID="gvDetails" runat="server">
<
HeaderStyle CssClass="headerstyle" />
<
/asp:GridView>
<
/div>
<
/form>
<
/body>
<
/html
现在打开文件后面的代码并编写以下代码:
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) >
= 20000select 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数据上写入条件以获取” 薪水” 大于等于的记录。到” 2000″ 。现在, 我们将运行并查看应用程序的结果。
【LINQ转XML】输出
文章图片
推荐阅读
- Linux mkdir | Linux创建目录
- Linux路径完成
- Linux绝对路径和相对路径
- Linux cd命令
- Linux pwd命令
- Linux目录
- LINQ转ADO.Net
- LINQ转DATASET
- appweb支持文件夹打开的方法