- 浏览: 245735 次
- 性别:
- 来自: 济南
文章分类
- 全部博客 (205)
- jQuery (27)
- Flash AS3.0 (0)
- Html5+CSS3 (12)
- C# .Net (19)
- Xml XPath XSLT (5)
- Sql (3)
- JavaScript (20)
- struts2 (23)
- hibernate (24)
- spring (11)
- j2ee (16)
- jsp/java (11)
- 设计模式 (5)
- json (3)
- Java.IO (7)
- Java.Util (7)
- android (8)
- WebService (10)
- MyEclipse SVN (3)
- servlet (1)
- Exception (3)
- 自我学习 (2)
- UML (2)
- java泛型 (1)
- Lucene (7)
- HtmlParser (2)
- 概念理解 (3)
- 正则表达式 (1)
- EMail (1)
最新评论
-
hanmiao:
没用,干巴巴的壹堆代码,没明白到底区别在哪里。
List Set Map 区别! -
e421083458:
偶来过了!
C#单向链表的实现
最常见的XML数据类型有:Element, Attribute,Comment, Text.
Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.
Attribute, 指在<Employee >中的粗体部分。
Comment,指形如:<!-- my comment --> 的节点。
Text,指在<Name>Tom<Name>的粗体部分。
在XML中,可以用XmlNode对象来参照各种XML数据类型。
2.1 查询已知绝对路径的节点(集)
objNodeList = objDoc.SelectNodes(“Company/Department/Employees/Employee”)
或者
objNodeobjNodeList = objNode.SelectNodes(“/Company/Department/Employees/Employee”)
以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;如果没有查询的任何节点返回 Nothing。例如:
objNodeobjNode = objNode.SelectSingleNode(“/Company/Department/Employees/Employee”)
If Not (objNode is Nothing) then
‘- Do process
End If
2.2 查询已知相对路径的节点(集)
可使用类似于文件路径的相对路径的方式来查询XML的数据
objNode = objDoc.SelectSingleNode(“Company/Department”)
objNodeobjNodeList = objNode.SelectNodes(“../Department)
objNodeobjNode = 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)
或者
objNodeobjNodeList = 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 参考数据
<?xml version="1.0" encoding="UTF-8"?>
<Company>
<Department >
<Department_Name>Cai WuBu</Department_Name>
<Manager>Zhang Bin</Manager>
<Employees>
<Employee >
<Employee_ID>12345</Employee_ID>
<Name>Zhang Bin</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10101</Employee_ID>
<Name>Zhang QI</Name>
<Gender>female</Gender>
</Employee>
<Employee >
<Employee_ID>10102</Employee_ID>
<Name>Zhang Xia</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10201</Employee_ID>
<Name>ZhangChuang</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10202</Employee_ID>
<Name>Zhang Jun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
<Department >
<Department_Name>KaiFa Bu</Department_Name>
<Manager>Wang Bin</Manager>
<Employees>
<Employee >
<Employee_ID>22345</Employee_ID>
<Name>Wang Bin</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20101</Employee_ID>
<Name>Wang QI</Name>
<Gender>female</Gender>
</Employee>
<Employee >
<Employee_ID>20102</Employee_ID>
<Name>Wang Xia</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20201</Employee_ID>
<Name>Wang Chuang</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20201</Employee_ID>
<Name>Wang Jun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
</Company>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wf520pb/archive/2008/07/12/2644549.aspx
Element, 指形如<Name>Tom<Name>的节点。它可以包括:Element, Text, Comment, ProcessingInstruction, CDATA, and EntityReference.
Attribute, 指在<Employee >中的粗体部分。
Comment,指形如:<!-- my comment --> 的节点。
Text,指在<Name>Tom<Name>的粗体部分。
在XML中,可以用XmlNode对象来参照各种XML数据类型。
2.1 查询已知绝对路径的节点(集)
objNodeList = objDoc.SelectNodes(“Company/Department/Employees/Employee”)
或者
objNodeobjNodeList = objNode.SelectNodes(“/Company/Department/Employees/Employee”)
以上两种方法可返回一个NodeList对象,如果要返回单个节点可使用SelectSingleNode方法,该方法如果查询到一个或多个节点,返回第一个节点;如果没有查询的任何节点返回 Nothing。例如:
objNodeobjNode = objNode.SelectSingleNode(“/Company/Department/Employees/Employee”)
If Not (objNode is Nothing) then
‘- Do process
End If
2.2 查询已知相对路径的节点(集)
可使用类似于文件路径的相对路径的方式来查询XML的数据
objNode = objDoc.SelectSingleNode(“Company/Department”)
objNodeobjNodeList = objNode.SelectNodes(“../Department)
objNodeobjNode = 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)
或者
objNodeobjNodeList = 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 参考数据
<?xml version="1.0" encoding="UTF-8"?>
<Company>
<Department >
<Department_Name>Cai WuBu</Department_Name>
<Manager>Zhang Bin</Manager>
<Employees>
<Employee >
<Employee_ID>12345</Employee_ID>
<Name>Zhang Bin</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10101</Employee_ID>
<Name>Zhang QI</Name>
<Gender>female</Gender>
</Employee>
<Employee >
<Employee_ID>10102</Employee_ID>
<Name>Zhang Xia</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10201</Employee_ID>
<Name>ZhangChuang</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>10202</Employee_ID>
<Name>Zhang Jun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
<Department >
<Department_Name>KaiFa Bu</Department_Name>
<Manager>Wang Bin</Manager>
<Employees>
<Employee >
<Employee_ID>22345</Employee_ID>
<Name>Wang Bin</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20101</Employee_ID>
<Name>Wang QI</Name>
<Gender>female</Gender>
</Employee>
<Employee >
<Employee_ID>20102</Employee_ID>
<Name>Wang Xia</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20201</Employee_ID>
<Name>Wang Chuang</Name>
<Gender>male</Gender>
</Employee>
<Employee >
<Employee_ID>20201</Employee_ID>
<Name>Wang Jun</Name>
<Gender>male</Gender>
</Employee>
</Employees>
</Department>
</Company>
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wf520pb/archive/2008/07/12/2644549.aspx
发表评论
-
javascript 创建对象
2012-05-14 11:03 767function Point(lng,lat) { this ... -
用javascript动态加载不同css/js文件
2012-03-20 09:13 1635DynamicLoad.js文件代码如下:function D ... -
jquery 定义插件
2012-03-13 14:12 857$.fn.Poshytip = function (o ... -
jquery--foxibox图片显示插件
2012-02-20 13:43 2070一个实用的jquery插件 -
struts2结合jquery实现异步上传文件
2012-02-16 10:50 731所需配置: jquery.jsajaxfileupload. ... -
jquery插件$(widnow).scrollTop()
2011-10-11 10:21 2376// JavaScript Document $.fn.Sb ... -
提高jQuery执行效率需要注意几点
2011-09-08 10:58 20221. 使用最新版本的jQuery jQuery的版本更新很快 ... -
当图片在窗口内才显示图片
2011-08-22 14:48 818// JavaScript Document $.fn.scr ... -
jQuery对象与dom对象的转换
2011-08-07 14:47 6781、关于页面元素的引用 通过jquery的$()引用元素包括 ... -
jQuery关于Tag的插件
2011-08-04 21:24 1233$("#orderDaoHang").Ta ... -
jquery serialize() serializeArray()
2011-07-12 13:17 1521表单全局: $("form1").seri ... -
jQuery 如何读取From 中的Type=Check中的集合值
2011-07-09 14:44 1263IE FF兼容: var data = $("#pr ... -
jQuery 定义 保存 读取数组数据
2011-07-09 12:30 936定义: var arrayStr = []; 保存: arra ... -
Jquery设置Select中的Option项为true;
2011-07-08 10:26 1058//设置Select中的Option项为true; $(&qu ... -
jQuery想了所有相同ID属性的div绑定一个事件
2011-07-07 12:03 6896案例: <div id="div1" ... -
C#jQuery解决传值时获取的代码问题
2011-07-05 11:34 1080传值:escape($("input[name=co ... -
jQuery右击事件
2011-06-26 16:52 2004<script> // 鼠标右击事 ... -
execCommand
2011-06-26 15:56 1178<!DOCTYPE html PUBLIC " ... -
Javascript 获取选中的文本
2011-06-25 12:07 758<script type="text/java ... -
动态加载图片,加载成功后显示图片!
2011-06-14 15:21 1277var img = new Image(); img.src= ...
相关推荐
标题中的“PB 解析XML”指的是使用PowerBuilder(简称PB)这一编程工具处理XML数据的过程。PowerBuilder是一款广泛用于开发企业级应用的可视化编程环境,它支持多种数据格式,包括XML。XML(eXtensible Markup ...
### 使用dom4j读取XML的四种方法 在Java开发中,处理XML文件是一种常见的需求。Dom4j作为一款简洁高效的Java库,被广泛应用于解析、操作XML文档。本文将详细介绍使用dom4j读取XML文件的四种常见方法,并通过示例...
状态为4) { var xmlDoc = xhr.responseXML; if (null==xmlDoc) { funcAsync(null, true); } else { funcAsync... function selectNodes(xmlDoc, xpathExp) { var nodes = null; try { // Support IE nodes = xmlDoc
3. 查询XML数据:使用DOM解析器提供的API,如`SelectNodes()`或`SelectSingleNode()`,通过XPath表达式来定位和获取XML节点。 例如: ```powerbuilder object xmlDoc : XMLDocument string strFilePath = "C:\...
例如,如果你有一个XML文档,并且想要找到所有的`<item>`元素,你可以使用`XPath.selectNodes("/root/item")`。这个方法对处理大量结果非常有用,因为返回的结果集可以方便地进行迭代。 2. `XPath.selectSingleNode...
C# 操作 XML 技术详解 XML 作为一个非常重要的纯文本格式已经进入了编程的很多领域,作为一个面向应用层面的 C# 也一样在很多领域离不开 XML。但是,C# 在很多方面对 XML 做了写封装,以至于很多操作 XML 的代码,...
对于XML文件的修改,可以使用`SelectSingleNode`或`SelectNodes`找到要修改的节点,然后更新其属性或内容。 当我们处理完XML数据后,可能需要将其存入数据库。C#提供了ADO.NET库,可以方便地与各种数据库(如SQL ...
读取XML节点值,可以使用`SelectSingleNode`或`SelectNodes`方法,如: ```csharp XmlNode node = xmlDoc.SelectSingleNode("//节点路径"); string value = node.InnerText; ``` 2. **C#操作XML:生成** 要...
C#中的XmlNode.SelectNodes或XmlNode.SelectSingleNode方法可以使用XPath表达式来查找元素。 ```csharp XmlNode foundNode = doc.SelectSingleNode("//element[@attribute='value']"); ``` ### 使用LINQ to XML: ...
- 之后,你可以通过`SelectNodes()` 或 `SelectSingleNode()` 方法查询XML节点。 2. **遍历XML节点** - 使用`XmlNodeList` 和 `XmlNode` 对象遍历XML结构。例如,获取所有`<item>` 元素: ```csharp ...
例如,使用`CreateObject("MSXML2.DOMDocument")`创建一个DOM对象,然后调用`Load()`方法加载XML文件,接着可以使用`SelectNodes()`或`SelectSingleNode()`来查询XML节点,获取所需数据。 2. **XML文件写入**: ...
通过`SelectSingleNode`和`SelectNodes`方法可以检索XML文档中的特定节点。例如: ```csharp XmlNode node = xmlDoc.SelectSingleNode("//book[@id='1']"); XmlNodeList nodeList = xmlDoc.SelectNodes("//author")...
3. **Properties和Methods**:这些是用于访问和操作XML节点的属性和方法,如`nodeValue`、`nodeName`、`childNodes`、`selectNodes`和`load`等。 现在,让我们来看一下如何在ASP中使用XMLDOM: 1. **创建XMLDOM...
1. 使用 `XmlDocument`,你可以通过 `Load()` 方法加载XML文件,然后使用 `SelectNodes()` 或 `GetElementsByTagName()` 来查找特定的元素节点。例如: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc....
一旦XML文档被加载,我们可以调用`SelectNodes`或`SelectSingleNode`方法来查询XML数据,并通过`NodeValue`获取或设置节点值。 在PB11.5中,还可以使用`IXMLDOMElement`和`IXMLDOMAttribute`等接口处理XML元素和...
5. **查询XML数据**:使用 `selectNodes` 方法获取XML节点,或者直接访问 `CXMLDOMDocument` 的 `documentElement` 属性获取根节点。 6. **遍历和修改DOM树**:通过节点的子节点、属性等方法进行遍历和修改。 7. **...
XML(Extensible Markup Language)是一种用于存储和传输数据的标准化格式,它被广泛应用于软件开发、数据交换和配置文件等领域。在VB.NET中,我们可以利用内置的类库来轻松地读取XML文件,从而获取其中的数据。下面...
查询XML文档中的特定节点,可以使用`getElementsByTagName`或`selectNodes`方法,后者基于XPath表达式,提供了更强大的查询能力。 ```javascript var a = doc.getElementsByTagName("ttyp"); // 或者 var a = doc....
XML文件可能包含多个层级的节点,遍历这些节点通常使用XmlNode的SelectNodes方法,配合XPath表达式。例如: ```csharp XmlNodeList nodes = doc.SelectNodes("//configuration/appSettings/setting"); foreach ...
C#的XmlNode.SelectNodes()或XPathNavigator.Evaluate()方法可以实现XPath查询。此外, LINQ to XML 提供了更现代且类型安全的查询方式,如`doc.Descendants("element_name")`。 4. **序列化和反序列化**:将对象...