- 浏览: 124804 次
- 性别:
- 来自: 安徽
文章分类
最新评论
-
mfkvfn:
woxiangbo 写道看着都累,肯定有更简单的方法 当然有, ...
Maven创建web项目具体步骤【转】 -
springmvc-freemarker:
可以参考最新的文档:如何在eclipse jee中检出项目并转 ...
Maven创建web项目具体步骤【转】 -
woxiangbo:
看着都累,肯定有更简单的方法
Maven创建web项目具体步骤【转】
例子:<FAQ>
<Destination DestName="订单" >
<Answer DestName="订单" Style="修改订单">
<Question>修改订单的方法</Question>
<Question>如何修改订单</Question>
<Question>怎么修改订单</Question>
<Question>修改订单如何操作</Question>
<Question>要怎么改订单</Question>
<Question>修改订单</Question>
</Answer>
<Destination>
</FAQ>
1、对Xml的节点进行简单查询的时候,常用的可以使用如下方法:
(1) XmlNode node =
doc.selectSingleNode("//AllNode/Node[@ID =
’aaa’]");
在整个Xml中查找AllNode节点下的节点名为Node的节点,该子节点的ID属性值为aaa
(2)XmlNode node =
doc.selectSingleNode("//AllNode /*[@ID =
’aaa’]");
在整个Xml中查找AllNode节点下的节点,该子节点的ID属性值为aaa
(3) XmlNode node =
doc.selectSingleNode("//AllNode/Node[@ID = ’aaa’ and @Name =
‘bbb’]");
在整个Xml中查找AllNode节点下的节点名为Node的节点,该子节点的ID属性值为aaa,且Name属性为bbb
(4)
XmlNode node = doc.selectSingleNode("//AllNode[Node =
’aaa’]");
在整个Xml中查找AllNode节点下的节点名为Node的节点,该子节点的内容为aaa
(5) XmlNode node =
doc.selectSingleNode("//AllNode/Node[@ID =
’aaa’]/ChildNode[@ID=’bbb’]");
在整个Xml中查找AllNode节点下Node节点的子节点ChildNode,且Node节点的ID值为aaa,ChildNode节点的ID值为bbb
最常见的XML数据类型有:Element, Attribute,Comment, Text.
Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment,
ProcessingInstruction, CDATA, and EntityReference.
Attribute,
指在<Employee id=”12345”>中的粗体部分。
Comment,指形如:<!-- my comment
--> 的节点。
Text,指在<Name>Tom<Name>的粗体部分。
在XML中,可以用XmlNode对象来参照各种XML数据类型。
2.1 查询已知绝对路径的节点(集)
objNodeList =
objDoc.SelectNodes(“Company/Department/Employees/Employee”)
或者
objNodeList = objNode.SelectNodes(“/Company/Department/Employees/Employee”)
以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;如果没有查询的任何节点返回
Nothing。例如:
objNode =
objNode.SelectSingleNode(“/Company/Department/Employees/Employee”)
If Not
(objNode is Nothing) then
‘- Do process
End If
2.2
查询已知相对路径的节点(集)
可使用类似于文件路径的相对路径的方式来查询XML的数据
objNode =
objDoc.SelectSingleNode(“Company/Department”)
objNodeList =
objNode.SelectNodes(“../Department)
objNode =
objNode.SelectNode(“Employees/Employee”)
2.3 查询已知元素名的节点(集)
在使用不规则的层次文档时,由于不知道中间层次的元素名,可使用//符号来越过中间的节点,查询其子,孙或多层次下的其他所有元素。例如:
objNodeList = objDoc.SelectNodes(“Company//Employee”)
2.4
查询属性(attribute)节点
以上的各种方法都返回元素(element)节点(集),返回属性(attribute),只需要采用相应的方法,在属性名前加一个@符号即可,例如:
objNodeList = objDoc.SelectNodes(“Company/Department/Employees/Employee/@id
”)
objNodeList = objDoc.SelectNodes(“Company//@id
”)
2.5 查询Text节点
使用text()来获取Text节点。
objNode =
objDoc.SelectSingleNode(“Company/Department/Deparmt_Name/text()”)
2.6
查询特定条件的节点
使用[]符号来查询特定条件的节点。例如:
a. 返回id号为 10102的Employee节点
objNode =
objDoc.SelectSingleNode(“Company/Department/Employees/Employee[@id=’10102’]”)
b. 返回Name为Zhang Qi的Name 节点
objNode =
objDoc.SelectSingleNode(“Company/Department/Employees/Employee/Name[text()=’Zhang
Qi’]”)
c. 返回部门含有职员22345的部门名称节点
objNode =
objDoc.SelectSingleNode("Company/Department[Employees/Employee/@id='22345']/Department_Name")
2.7 查询多重模式的节点
使用 | 符号可以获得多重模式的节点。例如:
objNodeList =
objDoc.SelectNodes(“Company/Department/Department_Name |
Company/Department/Manager”)
2.8 查询任意子节点
使用*符号可以返回当前节点的所有子节点。
objNodeList = objDoc.SelectNodes(“Company/*/Manager)
或者
objNodeList = objNode.ChildNode
举个小例子:
XmlNode node = dom.SelectSingleNode("//Destination /Answer[@DestName = '订单' and @Style = '修改订单']");
XmlNode node1 = dom.SelectSingleNode("//Destination[@DestName = '订单' ]");
2、对XML进行删除节点操作
//删除当前节点及其所有子节点
node.ParentNode.RemoveChild(node);
//去掉当前节点下所有子节点
XmlNodeList aa = node.ChildNodes;
while (aa.Count>0)
{
node.RemoveChild(aa[aa.Count-1]);
}
//删除此节点的所有字节点的内容
node.removeAll();
3、添加子节点
XmlDocument dom = new XmlDocument();
dom.Load(detnationPath);
XmlNode root = dom.FirstChild;
//创建一个节点
XmlElement xe1 = dom.CreateElement("Destination");
//设置该节点genre属性
xe1.SetAttribute("DestName", "xiaxiao");
XmlElement xesub1 = dom.CreateElement("Answer");
xesub1.SetAttribute("DestName", "xiaxiao");
xesub1.SetAttribute("style", "mimi");
for (int i = 0; i < 5; i++)
{
XmlElement xesub2 = dom.CreateElement("question");
xesub2.InnerText = ("woshi");
xesub1.AppendChild(xesub2);
}
node.AppendChild(xesub1);
最后别忘记还有dom.save(FilePath);
发表评论
-
C#版本MQ的使用摘抄
2014-12-05 09:35 6874消息队列(Message Queue)简介及其使用 ... -
批量更新数据库
2013-10-15 13:52 962前言:最近 ... -
用批处理文件更新数据库
2013-10-11 17:05 741osql -S"服务器名称" ... -
C# 序列化和反序列化
2013-09-25 20:19 1948很神奇的一个类,不用序列化到文件中,只序列化到字 ... -
XML 序列化与反序列化
2013-09-25 19:46 0XmlDocument xx = new XmlDo ... -
Lambda表达式
2013-09-22 15:56 878源自:http://www.cnblogs.com/king ... -
无法在WEB服务器上启动调试,Web 服务器配置不正确
2013-07-02 13:36 894资料来源:http://www.cnbl ... -
关于未能创建 Mutex
2013-06-26 18:46 1227引用:http://www.cnblogs.com/skyqi ... -
MD5加密解密
2013-05-23 16:43 0c#中MD5的加密解密 从网上找到了一些相 ... -
Lucene实现全文检索
2013-04-28 14:10 3271简介: Lucene是apache软件基金会4 jaka ... -
JSON的序列化和反序列化
2013-03-14 16:14 919今天看了好多关于解析json的例子,但是都不全,而且还要自己 ... -
C#操作word(二)
2012-06-14 16:57 0... -
word 文档操作
2012-06-14 16:53 846word文档操作 0、文 ... -
window打印程序
2012-06-01 10:56 989private void 打印PToolStr ... -
文件打印
2012-06-01 10:52 0C#实现打印与打印预览 ... -
xml的操作
2012-05-17 17:39 1082例子:<FAQ> <Destination ... -
Aspose.cell处理Excel2
2012-05-09 10:28 1331(二)从excel中读取数据写到控制台 ... -
Aspose.cell处理Excel
2012-05-02 16:55 6495(一)从数据库中读取数据写入Excel中 方法1; ...
相关推荐
这里提到的"xml操作xml操作xml操作xml操作xml操作"显然是指对XML文档进行读取、修改和创建的操作。 在给定的示例中,首先加载XML文档到`XmlDocument`对象,这是.NET框架中用于处理XML的标准类。通过`XmlDocument`的...
总结来说,"基于tinyxml2的xml操作库再封装"项目为C++开发者提供了一个高效、易用的XML处理工具,通过优化和扩展tinyxml2的功能,使得XML数据的处理变得更加直观和便捷。这将极大地提高开发效率,降低开发成本,尤其...
**基于QT封装的XML操作与显示类** 在软件开发中,XML(eXtensible Markup Language)作为一种数据交换和存储格式,广泛应用于不同系统间的数据交互。QT作为一个跨平台的C++图形用户界面应用程序框架,提供了对XML的...
本篇文章将深入探讨如何在C#中进行XML操作,主要基于提供的"XML操作类"的压缩包文件。 首先,XML操作类通常包含了读取、写入、解析和修改XML文档的一系列方法。在C#中,我们可以利用System.Xml命名空间下的类来实现...
以下是一些关于XML操作的关键知识点: 1. **XML基本结构**: - XML文档由元素(Element)组成,元素是XML的最基本单位,可以包含其他元素或文本。 - 元素以尖括号 `和 `>` 包裹,如 `<element>`,并用 `/` 表示...
本项目案例“java对xml操作的项目案例”深入探讨了如何使用Java来读取、修改和写入XML文件。下面将详细阐述相关知识点。 一、Java与XML的交互 1. DOM解析器:Document Object Model (DOM) 是一种将整个XML文档加载...
动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件 Xml操作 Xml文件的修改动态生成Rss文件...
在提供的源码文件“Asp[1].net+操作XML+源码.rar”中,可能包含了具体的ASP.NET XML操作示例,包括如何创建XML文件、读取XML文件、更新XML节点以及删除XML节点的代码片段。而“WebSite2”可能是包含一个完整的Web...
tinyxml,很好用的xml操作类,c++版,删除了乱七八糟的工程文件,用时include一下两个头文件即可。具体使用方法参考:http://blog.csdn.net/zhangrentian/archive/2010/01/15/5194875.aspx
XML操作类(完整)使用于C#领域,更好的操作XML文件
c#下操作xml文件类,方便调用操作。 xml操作日趋常见,xml格式相对规范,通过xml存储信息更加方法,采用该类可以方便操作。
最近做项目,要用C#写,而且数据格式是那种节点套节点能把人套死的XML,看着都觉得晕,而且节点跳跃性很大,真心觉得单纯用环境自带的XMLDocument类完全达不到自己的需要,因为XML里面涉及到节点循环,循环里面又套...
Xml操作类,项目中使用的,包含读取数据、插入数据、修改数据、删除数据 附带使用方法。
xml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百味www.bywei.cnxml教程(增删改)xml教程 xml xml操作教程 xml读取-程序员百...
xml的所有操作.xml的所有操作.xml的所有操作.xml的所有操作.
XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类XML操作类
该代码主要实现了根据xml中定义的扩展字段Expand动态生成textbox,填写后更新xml的一个源码,包括xml的增删改查功能。算是比较全的一个xml操作源码了。主要是为了公司项目做的可行性研究,欢迎交流分享。
asp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用xml操作wordasp.net 用...
2. **C#中的XML操作库**:在C#中,我们主要使用System.Xml命名空间中的类来处理XML。主要包括XmlDocument、XmlNode、XmlElement等。XmlDocument是整个XML文档的容器,XmlNode是所有XML节点的基类,XmlElement表示...
以上就是关于XML操作的基本介绍,通过C#的`XmlDocument`、`XmlWriter`、`XmlNode`以及`DataSet`等类,我们可以方便地实现XML的读取、写入、更新和删除。理解这些概念和用法,将有助于在实际开发中更好地处理和利用...