最常见的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>
- 浏览: 121440 次
- 性别:
- 来自: 北京
-
最新评论
-
maoghj:
dom4j API转载 -
hongdong1017:
[url][/url][flash=200,200][/fla ...
linux下如何执行.sh文件 -
hongdong1017:
[b][/b][i][/i][u][/u]引用
linux下如何执行.sh文件 -
shangfengying:
...
java web项目中web.xml的一点东西 -
12345678:
谢谢 ~ 我用的~Jon Galloway~~的
java项目清除svn信息
相关推荐
若要从XML文件中读取数据,你可以使用`XmlDocument`的`Load()`方法加载文件,然后使用XPath或LINQ to XML查询数据。 3. 修改XML文件: - 通过`XmlNode`和`XmlElement`对象,你可以找到并修改XML文档中的特定节点...
这段代码展示了如何使用`ReadXml`方法将XML文件中的数据加载到`DataSet`对象中。这为后续的数据处理提供了便利。 ##### 2.2 读取XML节点值 除了将整个XML文件读入`DataSet`外,有时我们只需要获取特定节点的值。...
4. **读取XML**:可以使用XmlNode的SelectSingleNode或SelectNodes方法来查找特定的XML节点。例如,根据XPath表达式查找节点: ```csharp XmlNode node = doc.SelectSingleNode("//ElementName"); ``` 5. **更新...
2. **加载 XML 文件**:使用 `Load` 方法从文件加载现有的 XML 数据。 3. **选择根节点**:通过 `SelectSingleNode` 方法获取文档中的根节点。 4. **创建新元素**:使用 `CreateElement` 方法创建新的 XML 元素,并...
本文将深入探讨配置文件中的XML及其公共类的使用方法,通过具体代码示例来解析其功能与应用场景。 #### 一、XML配置文件概述 XML配置文件是一种基于文本的数据存储方式,通过标签和属性来组织和描述数据。这种格式...
### C#操作XML文件知识点详解 #### 一、概述 在C#开发中,操作XML文件是一项非常常见的任务。无论是读取配置文件还是处理数据交换,掌握如何有效地读写XML都至关重要。本篇文章将详细解释如何使用C#来读取XML文件...
本文将深入探讨Delphi中的Native Xml 4.07解析器,了解其功能特性、使用方法以及如何在实际项目中应用。 Native Xml 4.07是专为Delphi设计的一个高效、轻量级的XML解析库,它提供了完整的XML处理功能,包括解析、...
读取XML文件通常涉及使用`XmlSerializer`的`Deserialize`方法,它能将XML文本或流恢复为对象实例。而写入XML文件则可以利用`Serialize`方法,将对象实例转化为XML并写入文件。在WPF中,我们可以结合`FileStream`或`...
通过上述代码,我们可以根据属性条件选择需要删除的节点,并使用`RemoveChild`方法将其从XML文档中移除。 #### 六、总结 本文详细介绍了如何使用VB.NET对XML文件进行基本的操作,包括创建、插入、修改和删除。这些...
### JavaScript读取XML文件知识点详解 #### 一、XML与JavaScript简介 - **XML (Extensible Markup Language)**:一种标记语言,类似于HTML,用于存储和传输数据。它被设计成具有自描述性,使得数据在不同系统间...
### JavaScript读取XML文件的方法详解 #### 一、引言 在现代Web开发中,XML(可扩展标记语言)作为一种轻量级的数据交换格式,在早期的Web应用中扮演着重要的角色。JavaScript作为前端的主要编程语言之一,具备强大...
### 自动添加XML数据知识点详解 #### 一、概述 在 ASP.NET 开发过程中,有时候我们需要将数据存储到 XML 文件中。本知识点详细介绍了一个 ASP.NET 应用程序中实现向 XML 文件添加数据的方法,该方法确保了数据不会...
C#读取XML的CDATA节点内容实例详解 在本篇文章中,我们将详细介绍如何使用C#语言读取XML文件中的CDATA节点内容。CDATA节点是一种特殊的XML节点,用于存储不需要被XML解析器解析的文本数据。在实际开发中,我们经常...
在C#中,可以使用`XmlDocument`类的`Load`方法加载一个XML文件到内存中,然后通过遍历XML文档树的方式获取所需的信息。 ##### 示例代码解析: ```csharp XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(...
**DOM4J中XPath用法详解** XPath,全称为XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来方便地选取XML文档中的节点,包括元素、属性、文本等。DOM4J是一个非常流行的Java XML API,它提供了一...
### C#读写XML文件使用XmlDocument方法详解 在C#中处理XML文件是一种非常常见的需求,尤其是在数据存储、配置管理或与Web服务交互时。本文将详细介绍如何使用`System.Xml`命名空间中的`XmlDocument`类来读取、修改...
### VB.NET 中读取与操作 XML 文件的知识点详解 在 IT 领域,XML(可扩展标记语言)被广泛用于存储和传输数据,尤其是在 Web 服务和不同平台间的数据交换中。VB.NET(Visual Basic .NET)作为 Microsoft 开发环境的...
本文详细介绍了如何使用C#中的`XmlDocument`类来操作XML文档,包括读取指定节点、添加新节点以及修改现有节点的方法。通过这些操作,我们可以灵活地处理XML数据,实现数据的存储、查询和更新等功能。这些技巧对于...
接下来,我们可以通过`SelectSingleNode`方法来选取XML文档中的某个节点: ```csharp XmlNode root = xmlDoc.SelectSingleNode("bookstore"); ``` 这里,`SelectSingleNode`方法返回的是第一个匹配的节点,如果想要...