MSXML2.DomDocument.3.0无效字符

时间:2009-06-18 22:39:34

标签: xml parsing lotusscript

在将XML解析为来自Web服务的答案时,我收到以下错误。

  • 在文字内容中找到了无效字符。

网络服务发送的答案包含一些字符,例如Ψ或HTML结构化测试,格式错误为“或<和>字符。

使用的代码是:

Set var_xmlPostObject = CreateObject("MSXML2.ServerXMLHTTP.3.0")
Set var_xmlRequestDoc = CreateObject("MSXML2.DOMDocument")
Set var_xmlResponseDoc = CreateObject("MSXML2.DomDocument.3.0")
'Send xml
Call var_xmlRequestDoc.loadXML(str_xml)
Dim var_pi As Variant
Set var_pi = var_xmlRequestDoc.CreateProcessingInstruction("xml", "version='1.0' encoding='ISO-8859-1'")
Call var_xmlRequestDoc.InsertBefore(var_pi, var_xmlRequestDoc.ChildNodes(0)) 'open the POST (or GET) connection to the web server
Call var_xmlPostObject.open("POST", str_soapPost, False)
Call var_xmlPostObject.setRequestHeader("Content-Type", str_soapType)
Call var_xmlPostObject.send(var_xmlRequestDoc.xml)
'Set response properties
var_xmlResponseDoc.async = False
var_xmlResponseDoc.validateOnParse = False
var_xmlResponseDoc.resolveExternals = False
Set var_xmlResponseDoc = var_xmlPostObject.responseXML
Print "var_xmlResponseDoc.xml: " & var_xmlResponseDoc.xml
If var_xmlResponseDoc.parseError.errorCode <> 0 Then
    'Alert
Else
    'Do something
End if

问题是,是否有办法检测在解析之前带来消息的字符?一些例子非常好。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您可能想要采用不同的方法。 Notes 8允许您本机使用Web服务并只处理一些LotusScript(或Java类)。核心代码将负责编码等,因此您无需处理它。如果由于政治原因你被困在过时的Lotus Notes版本上,你可以使用[Stubby] [1](Web服务杀手)来生成代码。比OLE连接更可靠。

[1]:http://www.nsftools.com/stubby/ Stubby