LINQ to XML
2011-02-24 16:45
441 查看
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>
先引入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>
相关文章推荐
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- Linq To XML:获得自身结点,及相邻的上/下一个结点
- Linq to XML 添加命名空间
- 一个实例掌握linq to XML增查删改(转)
- C# Linq To XML的学习(创建并编辑XML树)示例
- 使用Linq to Xml创建一个xml文件
- c# linq to xml 获取某节点属性总数
- Linq to XML 增删改查
- asp.net Linq To Xml上手Descendants、Elements遍历节点
- LINQ to XML
- LINQ to XML
- LINQ to XML 编程基础
- LINQ to XML 进阶篇(一)
- Linq to xml 代码实战(1)
- 第三十九讲 LINQ to XML
- LINQ to XML 编程基础
- LINQ to XML 操作XML文档
- C#中的Linq to Xml详解
- C#新手入门代码 LINQ TO XML xattribute的用法示例
- LINQ to XML