Linq To Xml (增,删,改,查)
2009-06-17 14:37
429 查看
XML数据如下:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="aaaaaa" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
一、查询
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
Response.Write((string)el.Attribute("Name") + "<br>"); //输出查询节点的Name属性的值
}
输出结果:
aaaaaa
二、修改
1、添加节点:
程序代码:
XElement mXml = XElement.Load("Test.xml"); //加载需要操作的XML文件
xmlTree.Add(new XElement("newNode", "newNodes")); //添加一个名为newNode,值为newNodes的节点
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="aaaaaa" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
<newNode>newNodes</newNode>
</DataSet>
2、删除节点
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
el.RemoveNodes(); //删除查询节点的Name属性的值
}
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
3、修改节点
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
el.SetValue("cccc"); //删除查询节点的Name属性的值
}
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="cccc" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
XElement 关于修改和删除的方法还有很多,我这里就不一一列举了。
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="aaaaaa" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
一、查询
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
Response.Write((string)el.Attribute("Name") + "<br>"); //输出查询节点的Name属性的值
}
输出结果:
aaaaaa
二、修改
1、添加节点:
程序代码:
XElement mXml = XElement.Load("Test.xml"); //加载需要操作的XML文件
xmlTree.Add(new XElement("newNode", "newNodes")); //添加一个名为newNode,值为newNodes的节点
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="aaaaaa" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
<newNode>newNodes</newNode>
</DataSet>
2、删除节点
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
el.RemoveNodes(); //删除查询节点的Name属性的值
}
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
3、修改节点
程序代码:
XElement root = XElement.Load("Test.xml"); //加载需要操作的XML文件
IEnumerable<XElement> tests =
from el in root.Elements("dbName") //查询dbName节点
where (string)el.Attribute("Remarks") == "r-aa" //条件:节点的Remarks属性的值为 r-aa
select el;
foreach (XElement el in tests) //遍历查询结果
{
el.SetValue("cccc"); //删除查询节点的Name属性的值
}
输出结果:
<?xml version="1.0" encoding="utf-8"?>
<DataSet>
<dbName ID="b785723f-e7ef-448a-81b2-527de05f422a" Name="cccc" Remarks="r-aa" />
<dbName ID="53232faa-a069-46b1-8ff4-f5bf47db7a68" Name="bbbbb" Remarks="r-bbbb" />
</DataSet>
XElement 关于修改和删除的方法还有很多,我这里就不一一列举了。
相关文章推荐
- Simple example for Linq To XML
- Linq To Xml 创建修改xml文档
- Converting Linq result to XML String
- LINQ to XML操作Xml文档
- [代码]使用XSD验证XML示例1(LINQ to XML)
- 步步为营VS 2008 + .NET 3.5(14) - XLINQ(LINQ to XML)之针对XML文件的添加、查询、更新和删除
- LINQ TO XML(创建XML文档)
- linq to xml(删除)
- Linq To Xml 备忘录3(使用Namespace的查询)
- C# 中的默认命名空间的范围 (LINQ to XML)
- linq to xml操作XML
- C#基础精华06(Linq To XML,读取xml文件,写入xml)
- LINQ To XML 入门(3)
- Linq To Xml上手(1) Descendants、Elements遍历节点
- C#新手入门代码 LINQ TO XML xattribute的用法示例
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- LINQ to XML 简单的小例子
- linq to xml查询绑定GridView
- LINQ TO XML 修改 app.config