2

我已经通过这样的网络服务发布了 xml 文档

<WebMethod()> _
Public Function HelloWorld() As XmlDocument
    Dim xmlDoc As New XmlDocument
    xmlDoc.Load(AppDomain.CurrentDomain.BaseDirectory & "\Product.xml")
    Return xmlDoc
End Function

如何从其他 Web 服务将这个 Xml 文档读入 xmldocument 对象?

4

1 回答 1

1

我根本不会使用 XmlDocument 作为返回类型。我建议简单地将 XML 作为字符串返回,例如:

<WebMethod()> _
Public Function HelloWorld() As String
    Return File.ReadAllText(AppDomain.CurrentDomain.BaseDirectory & "\Product.xml")
End Function

然后,在您的客户端应用程序中,您可以将 XML 字符串加载到 XmlDocument 对象中:

Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.LoadXml(serviceRef.HelloWorld())

但是,如果您需要保留返回 XmlDocument 的方法,请记住它是一个复杂类型,因此在客户端,它将表示为代理类型,而不是实际的 XmlDocument 类型。因此,您需要创建一个新的 XmlDocument 并从代理的 xml 文本中加载它:

Dim xmlDoc As XmlDocument = New XmlDocument()
xmlDoc.LoadXml(serviceRef.HelloWorld().InnerXml)
于 2012-05-23T10:51:27.647 回答