2012-05-23 118 views
2

我已經通過Web服務發佈的XML文檔類似這樣的讀XML文檔轉換成XmlDocument對象

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

如何解讀這個XML文檔轉換成XmlDocument的對象和其他Web服務?

回答

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) 
+0

非常感謝。它爲我工作 –