使用XMLDOM将XML obj的结束标记存储到数组中

时间:2016-07-28 11:57:39

标签: json xml vbscript

目前在VBScript中使用XMLDOM对象来获取XML文件中的每个节点。它返回标签和值就好了;但是,我希望它也能返回结束标记。

我的最终目标是将数组和格式转换为JSON。到目前为止一直很困难,因为有些情况下父节点可能在XML中包含另一个父节点,这使得很难知道何时将}添加到以JSON格式关闭标签。

当前代码:

Set xmlDoc = CreateObject("Microsoft.XMLDOM") 
xmlDoc.Async = "False" 
xmlDoc.Load(datatable("Filelocation", varSheet) & datatable("TC_Name", varSheet)) 
Set colNodes = xmlDoc.SelectNodes ("//") 
For Each objNode In colNodes 
    'MsgBox objNode.NodeName & " " & objNode.NodeValue
    value = objNode.NodeName
    MsgBox value
Next

同样,当我检查value时,不会返回任何结束标记。这可以使用XMLDOM吗?如果没有,还有另一种方法可以在VBScript中成功将XML转换为JSON吗?

1 个答案:

答案 0 :(得分:0)

XML和JSON都是分层数据结构。对于它们之间的转换,您通常会递归遍历数据结构并像这样处理节点:

  1. 写下"开放节点"信息(例如{ "nodename":
  2. 写入文本正文或递归到嵌套节点。
  3. 写下"关闭节点"信息(例如})。
  4. 单个循环不足以支持任意XML数据。