任何人都可以帮忙。
我正在尝试将excel数据转换为xml文件uisng vba。 我的xml文件看起来像这样,
<product>
<info><i>Samsung</i></info>
</product>
我希望不要解析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
我希望我的xml文件看起来像这样,当在记事本中查看viewsource时,它应该是 显示'&lt;'作为'&lt;'但不是'ampersand lt;'
<product>
<info><![CDATA[<i>Samsung</i>]]></info>
</product>
执行我的代码后,它显示如下,
<product>
<info><i>Samsung</i></info>
</product>
但cdata标签没有出现。不知道原因。当在notepad'&lt;'中查看xml文件的视图源时符号显示为&符号;
任何人都可以解决这个问题吗?
提前致谢
答案 0 :(得分:3)
试试这个
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