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 类】使用说明的更多相关文章

  1. ThreadLocal类使用说明

      ThreadLocal类用于创建一个线程本地变量   在Thread中有一个成员变量ThreadLocals,该变量的类型是ThreadLocalMap,也就是一个Map,它的键是threadLo ...

  2. RandomAccessFile类使用说明

    RandomAccessFile类是Java Io体系中功能最为丰富的文件访问类,它提供了众多的文件访问方法.RandomAccessFile类支持“随机访问”方式,这里的“随机”是指程序可以直接跳到 ...

  3. paip.java c++得到当前类,方法名称以及行号

    paip.java c++得到当前类,方法名称以及行号 作者Attilax 艾龙,  EMAIL:1466519819@qq.com 来源:attilax的专栏 地址:http://blog.csdn ...

  4. [php基础]PHP Form表单验证:PHP form validator使用说明

    在PHP网站开发建设中,用户注册.留言是必不可少的功能,用户提交的信息数据都是通过Form表单提交,为了保证数据的完整性.安全性,PHP Form表单验证是过滤数据的首要环节,PHP对表单提交数据的验 ...

  5. MSDN官方XmlSerializer类导致内存泄漏和性能低

    MSDN官方XmlSerializer类使用说明链接: http://msdn.microsoft.com/zh-CN/library/system.xml.serialization.xmlseri ...

  6. 【Java基础】枚举类与注解

    枚举类与注解 枚举类的使用 当需要定义一组常量时,强烈建议使用枚举类. 枚举类的理解:类的对象只有有限个,确定的. 若枚举只有一个对象, 则可以作为一种单例模式的实现方式. 枚举类的属性: 枚举类对象 ...

  7. Java类的继承与多态特性-入门笔记

    相信对于继承和多态的概念性我就不在怎么解释啦!不管你是.Net还是Java面向对象编程都是比不缺少一堂课~~Net如此Java亦也有同样的思想成分包含其中. 继承,多态,封装是Java面向对象的3大特 ...

  8. 【PHP高效搜索专题(1)】sphinx&Coreseek的介绍与安装

    我们已经知道mysql中带有"%keyword%"条件的sql是不走索引的,而不走索引的sql在大数据量+大并发量的时候,不仅效率极慢还很有可能让数据库崩溃.那我们如何通过某些关键 ...

  9. java 获取随机数的三种方法

    方法1(数据类型)(最小值+Math.random()*(最大值-最小值+1))例:(int)(1+Math.random()*(10-1+1))从1到10的int型随数 方法2获得随机数for (i ...

随机推荐

  1. PAT——1019. 数字黑洞

    给定任一个各位数字不完全相同的4位正整数,如果我们先把4个数字按非递增排序,再按非递减排序,然后用第1个数字减第2个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有“数字黑洞”之称的6174 ...

  2. 搭建springboot项目

    1.搭建环境windows10+jdk1.8+eclipse4.8+maven 2.为了学习微服务架构学习搭建基础项目 3.分为两种搭建方式为maven项目和单独建立springboot项目(ecli ...

  3. mina 通讯框架

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),M ...

  4. 笔记:HTML5中input元素新增的type值

    在HTML5中,input元素的type值增加了不少,使input的功能强大了很多. 但在各大浏览器中并不是所有的type值都支持. 以下是比较有用.并且浏览器支持的稍好一些的值: type=colo ...

  5. day89 DjangoRsetFramework学习---restful规范,解析器组件,Postman等

     DjangoRsetFramework学习---restful规范,解析器组件,Postman等           本节目录 一 预备知识 二 restful规范 三 DRF的APIView和解析 ...

  6. 004---IO模型

    io模型 同步.异步.阻塞.非阻塞概念 同步:发出一个功能调用时,在没有得到结果之前,该调用就不会返回,原地等待 异步:相反,不需要等待 阻塞:调用结果返回之前,当前线程会被挂起,如io操作,只有在得 ...

  7. 20155202 实验四 Android开发基础

    20155202 实验四 Android开发基础 实验内容 1.基于Android Studio开发简单的Android应用并部署测试; 2.了解Android.组件.布局管理器的使用: 3.掌握An ...

  8. 20155220 实验四 Android开发基础

    20155220 实验四 Android开发基础 实验内容 (一)Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java for ...

  9. 20155230 2016-2017-2《Java程序设计》课程总结

    学号 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业01:我所期望的师生关系 预备作业02:成功经验与C语调查 预备作业03:虚拟机安装及Linu ...

  10. 201555301 2016-2017-2《Java程序设计》课程总结

    20155301 2016-2017-2<Java程序设计>课程总结 (按顺序)每周作业链接汇总 预备作业1:我对师生关系的思考 预备作业2:从现有技能获取的经验应用于JAVA中 预备作业 ...