避免在Document-> createTextNode中进行编码

时间:2012-09-20 13:18:16

标签: xml vb.net

Dim xmlDoc As DOMDocument
Dim codeXML as String
Dim n As IXMLDOMNode

codeXML = '<data>value</data>'
Set n = xmlDoc.createTextNode(codeXML)

我需要这样的结果:

<main><data>value</data></main>

但我得到

<main>&lt;data&gt;value&lt;/data&gt;</main>

请帮助解决这个问题。

谢谢,

2 个答案:

答案 0 :(得分:1)

您正在创建<data>value</data>作为文本节点,但您不需要文本节点。相反,您需要一个元素<data>(通过createElement创建),嵌套文本节点为value(使用上述内容)。

要明确,<data>value</data>由带有嵌套文本节点的XML元素组成。如果您调用createTextNode()并传入XML,则会将其编码为文本并创建文本节点。 如果没有发生实体编码,则无法存储此文本

有助于理解DOM中的不同节点子类。这是关于这个话题的useful tutorial

答案 1 :(得分:0)

正如Brian建议的那样,试试:

mainElement.createElement("data").setTextContent("value");