我们经常会用到xml操作,如下介绍了js、sql、vb等对xml的操作。

JS创建xml对象

//创建对象
function getDataXML() {
    var objTds = $("TEXTAREA");
    var count = objTds.length;
    var jsonData;
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    //创建根元素
    var root = xmlDoc.createElement("DtCostRecollectOverView");
    xmlDoc.appendChild(root);
    for (var i = 0; i < count; i++) {
        var chatRoom = xmlDoc.createElement(objTds[i].name);
        chatRoom.text = objTds[i].value;
        root.appendChild(chatRoom);
    }
    return xmlDoc.xml;
}

sql解析xml

DECLARE @params xml
DECLARE @customparams xml = null
-- 0、解析输入参数
DECLARE @filter nvarchar (max)
SET @filter = @params. value( '(/params/filter)[1]' , 'nvarchar(max)') -- 0.2、 (2=2)
DECLARE @customfilter nvarchar (max)
SET @customfilter = @params. value ( '(/params/customfilter)[1]', 'nvarchar(max)')
IF @customfilter = N''
SET @customfilter = N'2=2' -- 0.3、每页显示记录数
DECLARE @pagesize int
SET @pagesize = @params. value( '(/params/pagesize)[1]' , 'int') -- 0.4、页码
DECLARE @pagenum int
SET @pagenum = @params. value( '(/params/pagenum)[1]' , 'int') -- 0.5、排序字段
DECLARE @sortcol nvarchar (100)
SET @sortcol = @params. value( '(/params/sortcol)[1]' , 'nvarchar(100)')
IF @sortcol IS NULL OR @sortcol = ''
SET @sortcol = N' p_Provider.ProviderGUID' -- 注意:根据XML中的定义设置默认排序 !!!
ELSE
SET @sortcol = @sortcol + N' ,p_Provider.ProviderGUID' -- 注意:如果 XML中配置了实体主键,这里要拼接主键排序 -- 0.6、当前公司
DECLARE @buguid nvarchar (100)
SET @buguid = @customparams. value ( '(/params/BUGUID)[1]', 'nvarchar(100)') -- 注意:变量大小写与vb代码一致 !!! -- 0.7、当前产品服务 Code
DECLARE @productcode nvarchar (4000)
SET @productcode = @params. value ( '(/params/customfilter2)[1]', 'nvarchar(4000)')

VB中创建XML

这里是原生的做法,具体使用可做相应的封装:

Private Function GetUpdateRoomXml() As String
Dim xmlDOM As New XmlDocument
Dim xmlGACode As XmlElement = xmlDOM.CreateElement("SAVEAREA")
For Each dr As DataRow In dtUpdate_p_Room.Rows
Dim xmlRow As XmlElement = xmlDOM.CreateElement("ITEMS")
Dim xmlRoomGUID As XmlElement = xmlDOM.CreateElement("RoomGUID")
Dim xmlGABldCode As XmlElement = xmlDOM.CreateElement("GABldCode")
Dim xmlGAUnitCode As XmlElement = xmlDOM.CreateElement("GAUnitCode")
Dim xmlGARoomCode As XmlElement = xmlDOM.CreateElement("GARoomCode")
Dim xmlGACode0 As XmlElement = xmlDOM.CreateElement("GACode")
Dim xmlRoomCode As XmlElement = xmlDOM.CreateElement("RoomCode")
xmlRoomGUID.InnerText = dr.Item("RoomGUID").ToString()
xmlGABldCode.InnerText = dr.Item("GABldCode").ToString()
xmlGAUnitCode.InnerText = dr.Item("GAUnitCode").ToString()
xmlGARoomCode.InnerText = dr.Item("GARoomCode").ToString()
xmlGACode0.InnerText = dr.Item("GACode").ToString()
xmlRoomCode.InnerText = dr.Item("RoomCode").ToString()
xmlRow.AppendChild(xmlRoomGUID)
xmlRow.AppendChild(xmlGABldCode)
xmlRow.AppendChild(xmlGAUnitCode)
xmlRow.AppendChild(xmlGARoomCode)
xmlRow.AppendChild(xmlGACode0)
xmlRow.AppendChild(xmlRoomCode)
xmlGACode.AppendChild(xmlRow)
Next
Return xmlGACode.OuterXml
End Function

js创建xml对象的更多相关文章

  1. 【转】javascript中值传递,地址传递,引用传递的问题(使用js创建list对象时会用到)

    function initEditModal_SI(node) { if (node.siArray == undefined) { node.siArray = new Object(); } va ...

  2. 用js创建XMLHttpRequest对象池[转]

    //使用literal语法定义一个对象:XMLHttp var XMLHttp = { //定义第一个属性,该属性用于缓存XMLHttpRequest对象的数组 XMLHttpRequestPool: ...

  3. JS创建自定义对象

    普通对象的创建: 创建对象: 1.people = new Object(); people.name = "lin"; people.age = "26“; 2.创建字 ...

  4. js 创建XML

    // 创建xml数据 let doc = document.implementation.createDocument('', 'root', null); // 创建一个文档 let root =d ...

  5. 遍历文件 创建XML对象 方法 python解析XML文件 提取坐标计存入文件

    XML文件??? xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言. 里面的标签都是可以随心所欲的按照他的命名规则来定义的,文件名为roi.xm ...

  6. JS 创建自定义对象的方式方法

    一.概述 还记得刚开始做项目的时候,看到别人封装的js工具类百思不得其解,看来看去看不懂,深挖一下,其实就是自己没有耐下心去看,但是遇到问题不解决,总会遇到的,今天还是遇到了,就去找了找帖子,重新思考 ...

  7. js将xml对象,xml文件解析成xml dom对象,来对对象进行操作

    由于ie与其他的浏览器对于xml文件的解析方式不同,所以有不同的解析方式 1.1 IE解析xml文件的方式 var xmlDoc=new ActiveXObject("Microsoft.X ...

  8. js创建json对象

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  9. js 创建 JSON对象

    //定义变量 var Type = [{}]; Type.push({ label: "labelname", value: "value" });

随机推荐

  1. Android学习总结——开篇

    不知不觉做Android开发已经2年多了,一直都没有好好总结过Android的相关内容,是时候好好总结和梳理一下Android的相关内容了,就从最基本的Activity开始吧,关于Activity的知 ...

  2. 为效率而生:开源Mac版Google Authenticator认证客户端GoldenPassport

    最近运维同学为了提高安全性,用Google Authenticator对服务器加了双重认证,此后登录服务器需要先输入动态密码,在输入服务器密码.Google Authenticator相当于软toke ...

  3. React+webpack开发环境的搭建

    首先创建项目,确保该项目已经安装了webpack和webpack-dev-server具体安装方法请参考上章所述. 在上一章说过babel是一个javascript编辑器,在react项目中使用bab ...

  4. 深入Redux架构

    关于redux 之前写了一篇通过一个demo了解Redux,但对于redux的核心方法没有进行深入剖析,在此重新总结学习,完整的代码看这里.(参考了React 技术栈系列教程) 什么情况需要用redu ...

  5. 1574: [Usaco2009 Jan]地震损坏Damage

    1574: [Usaco2009 Jan]地震损坏Damage Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 425  Solved: 232[Subm ...

  6. [lua] mac上如何编译snapshot(检测Lua中的内存泄露)

    最近我们的unity手游频繁闪退,只要进入战斗场景,之后一段时间就会闪退,如果是在unity编辑器中则会报出not enough memory的错误!猜测应该是有内存泄漏: 由于我们使用了tolua, ...

  7. 在LaTeX 与 LyX 中设置“Contents”为“目录”

    在 LaTeX 中,目录一般被显示为英文"Contents",因此需要设置成"目录". 通常在 Preamble 按照如下方式设置: \renewcommand ...

  8. C++类对象大小的计算

    (一)常规类大小计算 C++类对象计算需要考虑很多东西,如成员变量大小,内存对齐,是否有虚函数,是否有虚继承等.接下来,我将对此举例说明. 以下内存测试环境为Win7+VS2012,操作系统为32位 ...

  9. QQ好友在线/离线,怎么测试?

    即时通讯是目前internet上最为流行的通讯方式,各种各样的即时通讯软件也层出不穷,那么今天主要针对QQ好友在线状态/QQ群友在线状态功能出发,一起思考其中的实现原理以及我们如何去测试此功能? 当大 ...

  10. 转载 感受K2.Net 2003工作流解决方案

    接触SourceCode公司的工作流产品K2.NET 2003有一段时间了,想把一些心得分享出来,和各位共同探讨一下,抛砖引玉,希望能对相关人士以启发. K2.Net 2003是基于微软.Net Fr ...