3

誰でも助けてください。

vbaを使用してExcelデータをxmlファイルに変換しようとしています。私の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 ファイルをこのように表示したいのですが、ビューソースをメモ帳で表示すると
、「<」は「<」として表示されますが、「アンパサンド lt;」では表示されません。

  <product>
    <info><![CDATA[<i>Samsung</i>]]></info>
  </product>

私のコードを実行すると、このように表示されます。

  <product>
   <info><i>Samsung</i></info>
  </product>

しかし、cdata タグが表示されません。理由はわかりません。メモ帳で xml ファイルのソースを表示すると、'<' 記号がアンパサンド lt; として表示されます。

誰でもこれを解決できますか?

前もって感謝します

4

1 に答える 1

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
于 2012-09-17T07:06:43.240 に答える