DOTNET3.5如何使用Linq搜索查询XML文件数据
作者: 李嘉 日期: 2010-05-31 16:20
如何使用Linq来查询XML的数据, 使用Linq查询是非常方便的, 注意示例代码的搜索是从XML元素的Value属性寻找匹配值。Value属性将从XML元素中返回的内容做为字符串。如果不这样处理的话,XML Axis属性将会对应元素名称的元素集合。但是当搜索XML属性时,你并不需要指定Value属性。这种情况下,XML Axis属性默认返回第一个匹配属性的Value:
public static string xmlQuaryByNumber(int pNum, string xmlName)
{
string xmlpath = HttpRuntime.AppDomainAppPath + "XML/" + xmlName;
XElement xelem = XElement.Load(xmlpath);
var queryXML = from xmlLog in xelem.Descendants("ROW")
where xmlLog.Element("Number").Value == pNum.ToString()
select (xmlLog.Element("Name").Value.ToString());
Array array = queryXML.ToArray();
if (array.Length != 0)
return array.GetValue(0).ToString();
else
return string.Empty;
}
至于XML的数据如下:
<!-- 首页新闻子分类 -->
<!-- 说明: 0~9 预留, 10及其以上为省市 -->
<?xml version="1.0" encoding="utf-8" ?>
<NTN0002>
<SubCategory>
<ROW>
<Number>0</Number>
<Name>风声(全国)</Name>
</ROW>
<ROW>
<Number>1</Number>
<Name>诸侯(地方)</Name>
</ROW>
<ROW>
<Number>2</Number>
<Name>告示(行政金融财税)</Name>
</ROW>
<ROW>
<Number>10</Number>
<Name>苏州</Name>
</ROW>
</SubCategory>
</NTN0002>
调用方式:
string pName=txtpName.Text.Trim();
txtpNum.Text = XMLHelper.xmlQuaryByName(pName, "NTN001.xml");
订阅
上一篇
返回
下一篇
标签:

由VS.NET 2008不能被安装在C盘以外的其他盘说起:Dotnet开发人员环境搭建顺序经验 (2010-09-07 22:53)
在C#或ASP.NET中如何判断Click等事件是否已经被注册避免重复注册 (2010-08-02 17:35)
在C#中如何将当前日期转化为周(星期), 日期转周的函数(ASPNET也适用) (2010-07-19 13:01)
解决VS.NET使用属性框时属性框不显示的问题(winform常见问题) (2010-06-28 21:40)
多多房第二版(PHP转ASP.NET版本)网站后台管理页面DEMO (2010-06-21 22:12)
ASP.NET中如何隐藏IP地址最后一位用*号代替 (2010-06-19 04:26)
李嘉 收藏代码 ① - ASP.NET中格式化字符串,符合SQL语句解决SQL注入问题函数收藏 (2010-06-11 01:03)
李嘉 收藏代码 ① - ASP.NET中实现Javascript信息提示框(版本2) (2010-06-11 00:57)
李嘉 收藏代码 ① - ASP.NET中实现Javascript信息提示框(版本1) (2010-06-08 23:16)