【xml_Class、xmlElementNode_Class 类】使用说明
xml_Class、xmlElementNode_Class这两个类是针对XML相关操作的类。
1、xml_Class类是针对XML文档操作的类
目录:
| 类型 | 原型 | 参数 | 返回 | 说明 |
| Sub | Sub [obj].init(byVal param) |
param [DOMDocument | XMLString | filePath] 参数类型可以是:DOMDocument实例、xml结构的字符串、XML文件的相对路径 |
- |
初始化实例(可以使用DOMDocument实例 或者 xml结构的字符串 或者 XML文件的相对路径初始化类实例) 初始化出错时,输出错误! 该过程整合了loadFile、loadXML、loadDocument三种过程。 |
| Sub | Sub [obj].loadFile(byVal filePath) | filePath [String] XML文件的相对路径 | - | 用XML文件初始化类对象。初始化出错时,输出错误! |
| Sub | Sub [obj].loadXml(byVal xmlString) | xmlString [String] XML格式字符串(必须含有根节点) | - | 用XML字符串初始化类对象。初始化出错时,输出错误! |
| Sub | Sub [obj].loadDocument(byVal DOMDocument) | DOMDocument [DOMDocument] XML的原生态文档对象 | - | 用DOMDocument实例初始化类对象。初始化出错时,输出错误! |
| 属性 | [obj].format = [True | False] | - | - | 保存文件时是否格式化当前XML字符样式,默认值false |
| 属性 | Get [obj].xmlDoc | - | [DOMDocument] | 获取实例的DOMDocument对象 |
| 属性 | Get [obj].root | - | [xmlElementNode] | 获取当前文档根节点的xmlElementNode实例 |
| 属性 | Get [obj].getNode(byVal xPath) | - | [xmlElementNode | Nothing] | 获取xPath匹配的第一个元素的xmlElementNode实例 |
| 属性 | Get [obj].getNodes(byVal xPath) | - |
[Array( xmlElementNode, xmlElementNode, ... )] |
获取xPath匹配的所有元素的xmlElementNode实例数组 |
| 属性 | Get item(byVal level, byVal index) | - | [xmlElementNode | Nothing] | 获取指定级别、索引值的元素的xmlElementNode实例 |
| 方法 | Function createNode(byVal nodeName, byVal nodeValue) |
nodeName [String] 节点元素名称 nodeValue [String] 节点元素内容 |
[IXMLDOMElement] XML原生态节点元素实例 | 创建一个元素节点对象(此时并没有插入到类实例中,返回的对象供原生态的xml操作需要,这里做扩展) |
| 方法 | Function createCDATA(byVal text) | text [String] CDATA内容 | [IXMLDOMCDATASection] XML原生态CDATA元素实例 | 创建一个CDATA节点对象(此时并没有插入到类实例中,返回的对象供原生态的xml操作需要,这里做扩展) |
| 方法 | Function createComment(byVal text) | text [String] 注释文本 | [IXMLDOMComment] XML原生态注释元素实例 | 创建一个注释节点对象(此时并没有插入到类实例中,返回的对象供原生态的xml操作需要,这里做扩展) |
| 方法 | Function createAttr(byVal attrName, byVal attrValue) |
attrName [String] 属性名 attrValue [String] 属性值 |
[IXMLDOMAttribute] XML原生态属性元素实例 | 创建一个属性对象(此时并没有插入到类实例中,返回的对象供原生态的xml操作需要,这里做扩展) |
| 方法 | Function checkXML(byVal xmlString) | xmlString [String] 待检测字符串 |
[Array] Array(0) [True | False] 检测结果 Array(1) [Empty | 错误描述] |
检查字符串是否符合XML格式(必须含有根节点,注意含有&字符是不符合XML格式) |
| 方法 | Function checkXMLString(byVal xmlString) | xmlString [String] 待检测字符串 |
[Array] Array(0) [True | False] 检测结果 Array(1) [Empty | 错误描述] |
检查字符串是否符合XML字符串格式(可以不包含有根节点的XML字符串,注意含有&字符是不符合XML格式) |
| 过程 | Sub save(byVal path) | path [String] 相对路径 |
- |
将当前xml文档保存成文件 |
2、xmlElementNode_Class类是针对XML节点操作的类
目录:
| 类型 | 原型 | 参数 | 返回 | 说明 |
| 属性 | [obj].format = [True | False] | - | - | 保存节点或者输出XML字符串时,是否格式化XML样式 |
| 属性 | Get [obj].node | - | [IXMLDOMElement] | 获取当前节点的XML原生态实例 |
| 属性 | Get [obj].xmlDoc | - | [IXMLDOMElement] | 获取当前节点的XML原生态文档对象实例 |
| 属性 | Get xmlClass() | - | [xml_Class] | 获取当前节点所在文档的xml_Class实例 |
| 属性 | Get name() | - | [String] | 获取当前节点名称 |
| 属性 | Get root() | - | [xmlElementNode] | 获取节点所在文档的根元素的xmlElementNode实例 |
| 属性 | Get parent() | - | [xmlElementNode | Nothing] | 获取节点的父节点的xmlElementNode实例 |
| 属性 | Get index() | - | [Number] | 获取此节点在同胞节点中的索引值,值是>=0的整数 |
| 属性 | Get level() | - | [Number] | 获取此节点在xml树的所在级别值,值是>=1的整数 |
| 属性 | Get xml() | - | [String] | 获取节点的所有字符内容(节点名称+子节点) |
| 属性 | Get html() | - | [String] | 返回节点内容(不包含节点本身) |
| 属性 | Get cdata() | - | [String | Empty] | 返回节点第一个CDATA内容 |
| 属性 | Get text() | - | [String] | 返回节点去掉HTML标记的内容 |
| 属性 | Get childNodeNums(byVal nodeTypeValue) |
nodeTypeValue [Number] 节点类型 nodeTypeValue = 0 所有子节点数量 nodeTypeValue = 1 元素子节点数量 nodeTypeValue = 3 文本子节点数量 nodeTypeValue = 4 CDATA子节点数量 nodeTypeValue = 8 注释子节点数量 |
[Number] >=0的整数 | 返回当前节点下指定类型的子节点数量(第一级子节点,不含子节点的子节点) |
| 属性 | Get clone(byVal includeChind) | includeChind [True | False] 值true表示克隆时包含子节点 | [xmlElementNode] | 克隆当前节点 |
| 属性 | Get attrNums() | - | [Number] >=0的整数 | 返回当前节点的属性数量 |
| 属性 | Get attr(byVal attrName) | - | [String | Empty] | 获取节点属性值 |
| 属性 | Get arrAttr() | - | [Array( Array(attrName, attrValue), Array(attrName, attrValue) ... )] | 获取当前节点的属性数组 |
| 属性 | Get sibling(byval index) |
index [Number] 兄弟节点所在序号值 index = 0 表示获取第一个兄弟节点 index = -1 表示获取最后一个兄弟节点 |
[xmlElementNode | Nothing] | 获取当前节点的兄弟节点(只针对元素节点) |
| 属性 | Get preNode() | - | [xmlElementNode | Nothing] | 获取当前节点的前一个节点实例 |
| 属性 | Get nextNode() | - | [xmlElementNode | Nothing] | 获取当前节点的后一个节点实例 |
| 属性 | Get getNode(byVal xPath) | xPath [String] | [xmlElementNode | Nothing] | 获取当前节点下xPath匹配的第一个元素 |
| 属性 | Get getNodes(byVal xPath) | xPath [String] | Array(xmlElementNode, xmlElementNode, xmlElementNode, ...) | 获取当前节点下xPath匹配的所有元素 |
| 属性 | Get getChilds() | - | Array(xmlElementNode, xmlElementNode, xmlElementNode, ...) | 获取当前实例下第一级元素子节点实例 |
| 属性 | Get toJson(byVal method) |
method [0|1] method = 0 表示仅将节点值转换成JSON实例 method = 1 表示包括节点一起转换成JSON实例 |
[JSON] | 将当前节点转换成json格式数据 |
| 属性 | Get toJsonString(byVal method) |
method [0|1] method = 0 表示转换成字符串时不包含根节点信息 method = 1 表示连同根节点信息一并转换成字符串 |
[String] |
将当前节点转换成json字符串 1、属性转换采用: "@attrName" = "attrVaule" 2、混合XML结构时,文本转换采用: "#text" = "text",比如: <sample long="100">1234</sample> 转换结果:{ "sample":{ "@long" : 100, "#text" : 1234 }} 3、忽略注释节点,将文本节点与CDATA合并,用\n分隔,比如: <sample><title>123456<!--这是一个注释-->abc</title></sample> 转换结果: { "sample":{ "title" : "123456\nabc" } } 4、同名元素(不区分大小写)子节点,转换成数组,键名强制变成小写,比如: <dl><dd>星期一</dd><dd>星期二</dd><dd>星期三</dd></dl> 转换结果: { "dl" : { "dd" : ["星期一", "星期二", "星期三"] } } |
| 属性 | [obj].html = [xmlString] | - | - | 用一个XML格式字符串设置当前节点内容 |
| 属性 | [obj].name = [String] | - | - | 重命名当前节点名称 |
| 属性 | [obj].text = [String] | - | - | 设置当前节点的内容 |
| 属性 | [obj].attr("[attrName]") = [attrValue] | - | - | 添加或修改节点属性值 |
| 过程 | Sub init(byVal param) | param [String] xml格式字符串,或者xml文件路径 | - | 用XML字符串或者XML文件来初始化节点实例 |
| 过程 | Sub initNode(byVal docIndex, byVal xPath) |
docIndex [Number] 当前实例位于全局变量public_array_xmlDoc的索引值 xPath [xPath] 当前实例位于XML文档中的路径 |
- | 初始化当前节点实例 |
| 过程 | Sub removeAttr(byVal attrName) | attrName [String] 属性名称 | - | 移除节点属性 |
| 过程 | Sub removeAllAttr() | - | - | 移除节点所有属性 |
| 过程 | Sub appendAttr(byVal attrObj) | attrObj [IXMLDOMElement] XML原生态元素节点实例 | - | 用xml_Class.createAttr(byVal attrName, byVal attrValue)创建的属性对象添加新属性 |
| 过程 | Sub remove() | - | - | 将当前节点从对应的xmlDoc中移除 |
| 过程 | Sub removeChild(byVal xPath) | xPath [String] | - | 移除xPath匹配的第一个元素节点 |
| 过程 | Sub removeChilds(byVal xPath) | xPath [String] | - | 移除xPath匹配的所有元素节点 |
| 过程 | Sub append(byVal xmlString) |
xmlString [String] xmlString有两种形式: 1) 含有根节点的xml字符串: 此时追加成功之后,后面的操作不影响,格式:<a>aaaaa</a> 2) 不含根节点的xml字符串: 由于采用html追加方式,所以后面的操作会受到影响: 格式: <a>1</a><a>2</a> |
- | 在当前节点下追加xml内容 |
| 过程 | Sub insertBefore(byVal xmlString) |
xmlString [String] |
- | 在当前节点前插入xml字符串内容(根节点前插入时不提示出错,但插入不成功!) |
| 过程 | Sub insertLater(byVal xmlString) | xmlString [String] | - | 在当前节点后插入xml字符串内容(根节点前插入时不提示出错,但插入不成功!) |
| 过程 | Sub reSet(byVal xmlString) | xmlString [String] | - | 重置当前节点结构,包括当前节点名称、属性、子节点。 |
| 过程 | Sub save(byVal path) | path [String] 保存相对路径 | - | 将当前节点保存到文件内 |
【xml_Class、xmlElementNode_Class 类】使用说明的更多相关文章
- ThreadLocal类使用说明
ThreadLocal类用于创建一个线程本地变量 在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLo ...
- RandomAccessFile类使用说明
RandomAccessFile类是Java Io体系中功能最为丰富的文件访问类,它提供了众多的文件访问方法.RandomAccessFile类支持“随机访问”方式,这里的“随机”是指程序可以直接跳到 ...
- paip.java c++得到当前类,方法名称以及行号
paip.java c++得到当前类,方法名称以及行号 作者Attilax 艾龙, EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...
- [php基础]PHP Form表单验证:PHP form validator使用说明
在PHP网站开发建设中,用户注册.留言是必不可少的功能,用户提交的信息数据都是通过Form表单提交,为了保证数据的完整性.安全性,PHP Form表单验证是过滤数据的首要环节,PHP对表单提交数据的验 ...
- MSDN官方XmlSerializer类导致内存泄漏和性能低
MSDN官方XmlSerializer类使用说明链接: http://msdn.microsoft.com/zh-CN/library/system.xml.serialization.xmlseri ...
- 【Java基础】枚举类与注解
枚举类与注解 枚举类的使用 当需要定义一组常量时,强烈建议使用枚举类. 枚举类的理解:类的对象只有有限个,确定的. 若枚举只有一个对象, 则可以作为一种单例模式的实现方式. 枚举类的属性: 枚举类对象 ...
- Java类的继承与多态特性-入门笔记
相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...
- 【PHP高效搜索专题(1)】sphinx&Coreseek的介绍与安装
我们已经知道mysql中带有"%keyword%"条件的sql是不走索引的,而不走索引的sql在大数据量+大并发量的时候,不仅效率极慢还很有可能让数据库崩溃.那我们如何通过某些关键 ...
- java 获取随机数的三种方法
方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...
随机推荐
- cenos 安装hadoop
1 创建hadoop用户 2 下载jdk和hadoop安装包 3 在root用户下解压jdk到/usr/java 4 配置JAVA_HOME 编辑/etc/profile,在文件最后添加 # set ...
- PAT——1020. 月饼
月饼是中国人在中秋佳节时吃的一种传统食品,不同地区有许多不同风味的月饼.现给定所有种类月饼的库存量.总售价.以及市场的最大需求量,请你计算可以获得的最大收益是多少. 注意:销售时允许取出一部分库存.样 ...
- LeetCode29.两数相除 JavaScript
给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 示例 1: 输 ...
- MySQL5.7.19 免安装配置 + Navicat for MySQL安装和破解(附全部资源)
近段时间因为工作原因安装了好多次本地MySQL,安装过程也是时有曲折,索性记录一下. 环境: Win10 家庭版 MySQL5.7.19 (链接:https://pan.baidu.com/s/1 ...
- 编程开发之--Oracle数据库--存储过程和存储函数(2)
上一小结我们简单介绍了存储过程和存储函数,对存储过程和存储函数有了一个基本的了解,接下来介绍在java程序中如何调用我们创建的存储过程和存储函数 1.在应用程序中调用我们的存储过程 创建一个简单的Ja ...
- Angular2 报错 ERROR Error: If ngModel is used within a form tag
今天写textarea的双向数据绑定报错,错误如图: 错误代码如下: <div class="form-group"> <textarea id="&q ...
- VUE 采坑之旅-- Mint-ui 按需引入报出Module build failed: Error: Couldn't find preset "es2015" relative to directory "C:\\phpStudy\\PHPTutorial\\WWW\\text\\vuep\\vue-demo"
首先按照mint-ui的文档中按需引入的要求,先执行 npm install babel-plugin-component -D 然后,将.babelrc文件替换了,但是后来我又将其改了(采坑过程我也 ...
- PHP程序员的技术成长规划 第三阶段:高级阶段
第三阶段:高级阶段 (高级PHP程序员)重点:除了基本的LNMP程序,还能够在某个方向或领域有深入学习.(纵深维度发展)目标:除了能够完成基本的PHP业务开发,还能够解决大部分深入复杂的技术问题,并且 ...
- HIVE基本语法以及HIVE分区
HIVE小结 HIVE基本语法 HIVE和Mysql十分类似 建表规则 CREATE [EXTERNAL] TABLE [IF NOT EXISTS] table_name [(col_name da ...
- IOT大数据大世界大未来,物联网产业大数据应用简析
在物联网时代,面对PB级的数据,企业将难以以一己之力完成基础设施的建设.物联网所产生的大量数据不仅会驱动现在的数据中心发生根本性的变化,同时也会驱动相关企业采用新的大数据策略. 物联网的价值在于数据: ...