我有一個WCF REST服務,我建立,可以返回XML和JSON。它可以工作,但是當我打電話來返回XML時,我的XML是一個不是XML的字符串。我認爲這是因爲我正在將數據錶轉換爲XML。WCF REST服務..轉換數據表到XML
的WCF提供了正確的XML響應,所以我不知道如何把DataTable的XML /文本在WCF XML響應,並將它是實際的XML。
這裏是我的代碼...如果需要,我可以提供更多.. 我相信我要對這個正確的,但我失去了一些東西。 任何幫助將不勝感激。
IRest.vb
<OperationContract()>
<WebInvoke(Method:="GET", ResponseFormat:=WebMessageFormat.Xml,
BodyStyle:=WebMessageBodyStyle.Bare,
UriTemplate:="xml/getassetnames/?key={key}")>
Function GetAssetNamesXML(key As String) As String
功能以數據錶轉換成XML
Public Shared Function ToXml(dt As DataTable) As String
Using textWriter = New StringWriter()
Dim settings = New XmlWriterSettings()
settings.Indent = True
settings.IndentChars = " "
settings.OmitXmlDeclaration = True
Using xmlWriter__1 = XmlWriter.Create(textWriter, settings)
dt.WriteXml(xmlWriter__1)
Return textWriter.ToString()
End Using
End Using
End Function
器具GetAssetNames豪中豪..我的.SVC
Public Function GetAssetNamesXML(ByVal Key As String) As String Implements IAquaViewRest.GetAssetNamesXML
Dim dt As New DataTable
dt = GetAssetNamesDT(Key) 'runs a function that goes to the database and returns a DT
Return ToXml(dt)
dt.Clear()
End Function