2

このようなWebサービスを介してxmlドキュメントを公開しました

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

このXmlドキュメントを他のWebサービスから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 に答える