【发布时间】:2011-11-23 14:53:18
【问题描述】:
我有一个使用 msxml4.dll 的旧版 VB 6 应用程序需要维护。
它使用 MSXML2.DOMDocument 的 .loadXML 方法从 xml 字符串创建,然后使用 .xml 属性输出 xml 字符串:
Dim doc As MSXML2.DOMDocument
Set doc = CreateObject("MSXML2.DOMDocument.4.0")
Call doc.loadXML("<doc/>")
' ... manipulation of doc ...
Dim xml As String
xml = doc.xml
我发现 .xml 属性存在问题。使用上述代码时,字符串 xml 末尾有一个 NewLine:
我怎样才能阻止这种情况发生?
如果它无法停止(即,如果它是 MSXML 中的错误或设计上的错误),那么如何在 VB 6 中将其删除? Trim(xml) 不起作用
编辑我已经更新了问题,因为它是 .xml 属性而不是 .loadXML 方法,这似乎有问题。如果我选择文档作为元素:
Dim elm As MSXML2.IXMLDOMElement
Set elm = doc.selectSingleNode("doc")
xml = elm.xml
然后 .xml 属性按预期运行,没有添加新行字符,因此它看起来是特定于 DOMDocument.xml 属性的。
编辑 2: 按照 SpectralGhost 的回答,我最终使用的是:
If Right(xml, Len(vbNewLine)) = vbNewLine Then
xml = Left(xml, Len(xml) - Len(vbNewLine))
End If
我使用 vbNewLine 来避免特定于平台的问题。
【问题讨论】: