vbs变化<到<和我的>到>导入文件内容时

时间:2012-12-10 09:54:36

标签: xml vbscript

我绝对不知道什么时候谈到VBScript所以当我在线上发现两个简单的代码片段以将文本文件的全部内容插入到XML文档中时,我感到非常高兴。

<已更改为&lt;且我的<已更改为&gt;外,一切正常。

我怎样才能克服这个?

我的代码:

Const ForReading = 1

Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("C:\test.txt", ForReading)

strText = objTextFile.ReadAll
objTextFile.Close

Set xmlDoc = CreateObject("Microsoft.XMLDOM")

xmlDoc.Async = "False"
xmlDoc.Load("C:\Audits.xml")

Set colNodes = xmlDoc.SelectNodes("/TOOLS")

For Each objNode In colNodes
   objNode.text = (strText)
Next

xmlDoc.Save "C:\Audits.xml"

2 个答案:

答案 0 :(得分:1)

CDATA部分允许&lt;和&gt;:

  

CDATA部分允许开发人员包含标记字符&lt;,&gt;,   和&amp;在元素内容中,不使用字符或实体   引用。脚本,样式表,程序代码和示例XML代码   经常包含在CDATA部分中。

Docs

代码:

  Dim oXML : Set oXML = CreateObject("Msxml2.DOMDocument")
  Set oXML.documentElement = oXML.createElement("a")
  Dim nd
  Set nd = oXML.createElement("b")
  nd.appendChild oXML.createTextNode("<>")
  oXML.documentElement.appendChild nd
  Set nd = oXML.createElement("c")
  nd.appendChild oXML.createCDATASection("<>")
  oXML.documentElement.appendChild nd

输出:

<a><b>&lt;&gt;</b><c><![CDATA[<>]]></c></a>

答案 1 :(得分:0)

你没有“克服”这一点。必须对<>个字符进行编码,否则解析XML标记(由尖括号划分,即<和{ {1}}字符)。