`
wanguangru
  • 浏览: 19523 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
最近访客 更多访客>>
社区版块
存档分类
最新评论

xml文件操作小结 - selectsinglenode方法中的xpath%%%%

 
阅读更多

                   
                                                                最常见的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
 
 
 

分享到:
评论

相关推荐

    ASP对XML文档中文本的操作

    '程序简介: 完成asp语言对XML文档中指定节点文本的增加、删除、修改、查看 '入口参数: 无 '出口参数: 无 '------------------------------------------------ '函数名字:ConnectXml() '入口参数: filename ...

    JDOM中XPath.selectNodes()和XPath.selectSingleNode()用法

    NULL 博文链接:https://newtime.iteye.com/blog/437338

    C# 读取 带 xmlns 命名空间 XML 结点 SelectSingleNode 类 For .NET Framework 1.1x

    C# 读取 带 xmlns 命名空间 XML 结点 SelectSingleNode 类 For .NET Framework 1.1x AutoPrefix(System.Xml.XmlNode xNode, System.Xml.XmlNamespaceManager xNameSpaceManager) AutoXPath(System.Xml.XmlNode ...

    vb6XML读写

    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 ...

    day023-xml解析笔记和代码.rar

    1.Xml中空格和换行都表示数据,严格区分大小写 1.4 XML约束:(了解) 1. 概念:就是限制一个XML文件中标签和属性等的使用,只能按照某种规则书写 便于其他程序员学习。 2. 作用: 1. ...

    javascript操作XML

    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM") 'JAVASCRIPT中的创建对象 set objXml=CreateObject("Microsoft.XMLDOM") '创建解析器对象 objXml.async="false" objXml.load("test.xml") '装载xml文件 ...

    C#读写xml文件Demo

    C#实现对xml文件的读取和写入操作 XmlNode xn = xmlDoc.SelectSingleNode("DBConnection"); XmlNodeList xnl = xn.ChildNodes; foreach (XmlNode xnf in xnl) { XmlElement xe = (XmlElement)xnf; ...

    .net 操作xml的简单方法及说明

    //导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath(“~/file/bookstore.xml”));//指定一个节点XmlNode root=xml.SelectSingleNode(“/root”);//获取节点下所有直接子节点XmlNodeList ...

    兼容IE、FireFox、Chrome等浏览器的xml处理函数js代码

    于是我将常用的xml操作封装为函数。经过一段时间的改进,现在已经很稳定了,用起来很舒服。 函数有—— xml_loadFile:xml同步/异步加载。 xml_transformNode:xsl转换。 xml_text:节点的文本。 selectSingleNode:...

    C# XML操作 代码大全(读XML,写XML,更新,删除节点,与dataset结合等)第1/2页

    已知有一个XML文件(bookstore.xml)如下: Corets, Eva 5.95 1、插入节点 往节点中插入一个节点: 代码如下:XmlDocument xmlDoc=new XmlDocument(); xmlDoc.Load(“bookstore.xml”); XmlNode root=xmlDoc....

    第31章 XPath1

    selectSingleNode()方法接受一个 XPath 模式(也就是查找路径),找到匹配的第一个节点并将它返回,没有则返回 null。//得到第一个 us

    asp读取xml文件

    strSourceFile = Server.MapPath(dataxml&”/Advertisement/”&id&”/adv.xml”) Set objXML =Server.CreateObject(“Microsoft.XMLDOM”) ‘创建一个XML对像 objXML.load(strSourceFile) ‘把XML文件读入...

    xml读写,vb2008

    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....

    深入dom4j使用selectSingleNode方法报错分析

    本篇文章是对dom4j使用selectSingleNode方法报错进行了详细的分析介绍,需要的朋友参考下

    JS中常用的xpath特性

    JS中常用的xpath特性 //选择所有dir元素的值等于xx的元素 Dom.documentElement.selectNodes("server/dir[text()='xx']") //选择server元素下的所有dir元素: Dom.documentElement.selectNodes("server/dir...

    MSXML解析XML文档(源码).

    MSXML解析XML文档(源码).

    asp.net中XML如何做增删改查操作

    //导入指定xml文件 xml.Load(path); xml.Load(HttpContext.Current.Server.MapPath(~/file/bookstore.xml)); //指定一个节点 XmlNode root=xml.SelectSingleNode(/root); //获取节点下所有直接子节点 XmlNodeList ...

    C#编程实现动态改变配置文件信息的方法

    配置文件实际上就是一个XML文件,所以我们可以使用XmlDocument来进行操作。 代码如下: static void Main(string[] args) { XmlDocument xDoc = new XmlDocument(); xDoc.Load(../../App.config);//加载xml文件 ...

    c# xml API操作的小例子

    xmlNode = _xml.SelectSingleNode(loginUrl);loginInfo.LoginUrl = xmlNode.InnerText;xmlNode = _xml.SelectSingleNode(loginUser);loginInfo.UserId = xmlNode.Attributes[“tagId”].Value;loginInfo.UserValue =...

    新浪阅读器的二次开发

    再这里面,我首先对xml文件中的内容进行总结: 1:如何加载xml文件(两种方法) A:通过打开文件对话框来打开(openfiledialog) if (openFileDialog1 .ShowDialog()==DialogResult .OK ) { String strFileName...

Global site tag (gtag.js) - Google Analytics