LINQ to XML

LINQ最大的好处是LINQ to XML,我觉得。

先引入System.Xml.Linq命名空间,其中常用的属性就是XElement。

LINQ基于DOM方式来操作XML,意思就是将XML文件在内存中构造成DOM树,然后来进行操作,将XML加载到内存两种方法。

1:将XML文件加载到内存。  XElement  xml1 = XElement.Load(Server.MapPath("book.xml"));

2:构造XML树。

XElement xml2 = new XElement("People", 

new XElement("Name", new XAttribute("中文", "哈哈") //这里只有一个后括号

new XElement("Age", "18"),

new XElement("Sex", "男")

),

new XElement("Name", new XAttribute("中文", "呵呵") //这里只有一个后括号

new XElement("Age", "19"),

new XElement("Sex", "女")

)

);

 

这时构造出来的XML树结构为

<People>

<Name 中文="哈哈">

<Age>18</Age>

<Sex>男</Sex>

</Name>

<Name 中文="呵呵">

<Age>19</Age>

<Sex>女</Sex>

</Name>

</People>

 

然后用LINQ来查找

IEnumerable<XElement> name =

from ele in xml2.Elements("Name")

where (string)ele.Attribute("中文")=="哈哈" //有一个转换

select ele ;

 

//这时的LINQ表达式仅仅是一个表达式,并无结果。只有要引用LINQ表达式的结果时,LINQ表达式才会执行,查询出结果。

 

foreach ( XElement x in name)

{

Response.Write(Server.HtmlEnCode(x.Element("Age"));

}

 

//运行结果为18

 

由于XML中有"<"和">"符号,所以要用HtmlEncode来预处理结果。实际ele的结果是一个XML子元素

<Name 中文="哈哈">

<Age>18</Age>

<Sex>男</Sex>

</Name>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值