我对 VBScript 完全一无所知,所以当我使用弗兰肯斯坦在网上找到的两个简单代码片段将文本文件的全部内容插入 XML 文档时,我感到非常高兴。
一切正常,除了我的
<
已更改为 <
并且我的 >
已更改为 >
。
我该如何克服这个问题?
我的代码:
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"
CDATA 部分允许 < and >:
CDATA 部分允许开发人员包含标记字符 <, >, 和 & 在元素内容中不使用字符或实体 参考。脚本、样式表、程序代码和示例 XML 代码 经常包含在 CDATA 部分中。
(文档)
代码:
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><></b><c><![CDATA[<>]]></c></a>
你无法“克服”这一点。
<
和 >
字符 必须 进行编码,否则解析 XML 标签(由尖括号分隔,即 <
和 >
字符)会出现问题。