`
wanguangru
  • 浏览: 19710 次
  • 性别: 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
 
 
 

分享到:
评论

相关推荐

    xml文件进行修改,新增,删除,插入操作

    在 C# 中,操作 XML 文件可以使用 XmlDocument 类,该类提供了丰富的方法来创建、修改、删除 XML 文件中的元素和属性。 新增操作 在 C# 中,要往 XML 文件中新增一个节点,可以使用 XmlDocument 类的 ...

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

    【ASP.NET编程知识】asp.net简单生成XML文件的方法.docx

    "ASP.NET 简单生成 XML 文件的方法" ASP.NET 中生成 XML 文件是非常常见的操作,今天我们将介绍两种生成 XML 文件的方法,并对相关知识点进行详细解释。 方法一:使用 DataSet ...* asp.net 创建 XML 文件的方法小结

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

    C#操作XML时,对xmlNode增、删、改操作

    可以使用SelectSingleNode()方法或SelectNodes()方法来寻找XML文档中的某个节点,例如可以使用SelectSingleNode()方法来寻找名称为“name”的节点。 删除节点 可以使用RemoveAll()或RemoveChild()方法删除XML文档...

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

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

    C#读写xml文件Demo

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

    javascript操作XML

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

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

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

    JS中常用的xpath特性

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

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

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

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

    xml 与javascript结合的问题解决方法

    我们可以使用 XML DOM 对象来访问 XML 文件中的数据。例如,我们可以使用下面的代码来获取 XML 文件中的书名: var books = xmldso.selectSingleNode("booklist").selectNodes("book"); for(var i=0; i; i++) { ...

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

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

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

Global site tag (gtag.js) - Google Analytics