最常见的XML数据类型有:Element, Attribute,Comment, Text.
Element, 指形如Tom的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.
Attribute, 指在中的粗体部分。
Comment,指形如: 的节点。
Text,指在Tom的粗体部分。
在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.ChildNodes
3 XML数据的编辑
3.1 增加一个元素的属性(attribute)节点
Dim objNodeAttr As XmlNode
objNodeAttr = objDoc.CreateAttribute("id", Nothing)
objNodeAttr.InnerXml = "101"
objNode.Attributes.Append(objNodeAttr)
3.2 删除一个元素的属性
objNode.Attributes.Remove(objNodeAttr)
3.3 增加一个子元素(Element)
Dim objNodeChild As XmlNode
objNodeChild = objDoc.CreateElement(Nothing, "ID", Nothing)
objNodeChild.InnerXml = "101"
objNode.AppendChild(objNodeChild)
3.4 删除一个子元素
objNode.RemoveChild(objNodeChild)
3.5 替换一个子元素
objNOde.ReplaceChild(newChild,oldChild)
4 参考数据
Cai WuBu
Zhang Bin
12345
Zhang Bin
male
10101
Zhang QI
female
10102
Zhang Xia
male
10201
ZhangChuang
male
10202
Zhang Jun
male
KaiFa Bu
Wang Bin
22345
Wang Bin
male
20101
Wang QI
female
20102
Wang Xia
male
20201
Wang Chuang
male
20201
Wang Jun
male
分享到:
相关推荐
在 C# 中,操作 XML 文件可以使用 XmlDocument 类,该类提供了丰富的方法来创建、修改、删除 XML 文件中的元素和属性。 新增操作 在 C# 中,要往 XML 文件中新增一个节点,可以使用 XmlDocument 类的 ...
'程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看 '入口参数: 无 '出口参数: 无 '------------------------------------------------ '函数名字:ConnectXml() '入口参数: filename ...
NULL 博文链接:https://newtime.iteye.com/blog/437338
C# 读取 带 xmlns 命名空间 XML 结点 SelectSingleNode 类 For .NET Framework 1.1x AutoPrefix(System.Xml.XmlNode xNode, System.Xml.XmlNamespaceManager xNameSpaceManager) AutoXPath(System.Xml.XmlNode ...
"ASP.NET 简单生成 XML 文件的方法" ASP.NET 中生成 XML 文件是非常常见的操作,今天我们将介绍两种生成 XML 文件的方法,并对相关知识点进行详细解释。 方法一:使用 DataSet ...* asp.net 创建 XML 文件的方法小结
vb中读写XML文件实例Dim XMLDoc As DOMDocument Dim root As IXMLDOMNode Dim xlst As IXMLDOMNodeList, xlst1 As IXMLDOMNodeList Dim xn As IXMLDOMNode Dim xnf As IXMLDOMNode Dim xe As IXMLDOMElement Set ...
可以使用SelectSingleNode()方法或SelectNodes()方法来寻找XML文档中的某个节点,例如可以使用SelectSingleNode()方法来寻找名称为“name”的节点。 删除节点 可以使用RemoveAll()或RemoveChild()方法删除XML文档...
1.Xml中空格和换行都表示数据,严格区分大小写 1.4 XML约束:(了解) 1. 概念:就是限制一个XML文件中标签和属性等的使用,只能按照某种规则书写 便于其他程序员学习。 2. 作用: 1. ...
C#实现对xml文件的读取和写入操作 XmlNode xn = xmlDoc.SelectSingleNode("DBConnection"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xnf in xnl) { XmlElement xe = (XmlElement)xnf; ...
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") 'JAVASCRIPT中的创建对象 set objXml=CreateObject("Microsoft.XMLDOM") '创建解析器对象 objXml.async="false" objXml.load("test.xml") '装载xml文件 ...
//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath(“~/file/bookstore.xml”));//指定一个节点XmlNode root=xml.SelectSingleNode(“/root”);//获取节点下所有直接子节点XmlNodeList ...
JS中常用的xpath特性 //选择所有dir元素的值等于xx的元素 Dom.documentElement.selectNodes("server/dir[text()='xx']") //选择server元素下的所有dir元素: Dom.documentElement.selectNodes("server/dir...
于是我将常用的xml操作封装为函数。经过一段时间的改进,现在已经很稳定了,用起来很舒服。 函数有—— xml_loadFile:xml同步/异步加载。 xml_transformNode:xsl转换。 xml_text:节点的文本。 selectSingleNode:...
selectSingleNode()方法接受一个 XPath 模式(也就是查找路径),找到匹配的第一个节点并将它返回,没有则返回 null。//得到第一个 us
strSourceFile = Server.MapPath(dataxml&”/Advertisement/”&id&”/adv.xml”) Set objXML =Server.CreateObject(“Microsoft.XMLDOM”) ‘创建一个XML对像 objXML.load(strSourceFile) ‘把XML文件读入...
vn.net 2008 的xml读写 'Dim xnl As XmlNode = xmldoc.SelectSingleNode("items/fnode") '读取单个节点 'Dim xe As XmlElement = CType(xnl, XmlElement) 'Trace.WriteLine(xnl("id").InnerText) 'Trace....
我们可以使用 XML DOM 对象来访问 XML 文件中的数据。例如,我们可以使用下面的代码来获取 XML 文件中的书名: var books = xmldso.selectSingleNode("booklist").selectNodes("book"); for(var i=0; i; i++) { ...
本篇文章是对dom4j使用selectSingleNode方法报错进行了详细的分析介绍,需要的朋友参考下
MSXML解析XML文档(源码).
//导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath(~/file/bookstore.xml)); //指定一个节点 XmlNode root=xml.SelectSingleNode(/root); //获取节点下所有直接子节点 XmlNodeList ...