如何在Excel vba中创建CDATA标签?

Mah*_*ahe 3 xml excel vba xmldocument cdata

任何人都可以帮忙吗?

我正在尝试使用 vba 将 Excel 数据转换为 xml 文件。我的 xml 文件看起来像这样,

 <product>
  <info><i>Samsung</i></info>
 </product>
Run Code Online (Sandbox Code Playgroud)

我希望不解析 html 标签。因此尝试使用 vba 中的 createCDATASection 方法在 vba 中添加 cdata

我添加了这样的vba代码

  Set objDom = New DOMDocument
  Set objXMLRootelement = objDom.createElement("Product")
  Set objXMLelement = objDom.createElement("info")
  objXMLRootelement.appendChild objXMLelement
  cdata=objDom.createCDATASection ("<i>Samsung</i>")
  objXMLelement.text=cdata.text
Run Code Online (Sandbox Code Playgroud)

我希望我的 xml 文件看起来像这样,当在记事本中查看视图源时,它应该将
“<”显示为“<”,而不是“<”

  <product>
    <info><![CDATA[<i>Samsung</i>]]></info>
  </product>
Run Code Online (Sandbox Code Playgroud)

执行我的代码后,它显示如下,

  <product>
   <info><i>Samsung</i></info>
  </product>
Run Code Online (Sandbox Code Playgroud)

但是cdata标签没有出现。不知道原因。并且当在记事本中查看xml文件的源时,“<”符号显示为&符号lt;

有人可以解决这个问题吗?

提前致谢

chr*_*sen 5

尝试这个

Sub zx()
    Dim objDom As DOMDocument
    Dim objXMLRootelement As IXMLDOMElement
    Dim objXMLelement As IXMLDOMElement
    Dim cdata As IXMLDOMCDATASection

    Set objDom = New DOMDocument
    Set objXMLRootelement = objDom.createElement("Product")
    objDom.appendChild objXMLRootelement
    Set objXMLelement = objDom.createElement("info")
    objXMLRootelement.appendChild objXMLelement
    Set cdata = objDom.createCDATASection("info")
    cdata.Data = "<i>Samsung</i>"
    objXMLelement.appendChild cdata

    Debug.Print objDom.XML
End Sub
Run Code Online (Sandbox Code Playgroud)