0
SO我有一個ASMX web服務,它返回一個搜索結果對象數組。當我通過瀏覽器調用的WebMethod,將生成以下XML ...手動反序列化WebRequest XML
<?xml version="1.0" encoding="utf-8"?><ArrayOfSearchResult xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://tempuri.org/"><SearchResult>
<Name>Rock Salt Steak House</Name>
<BusinessType>Steakhouses</BusinessType>
<Rating>mStar30</Rating>
<Address>1232 Westlake Ave N</Address>
<City>Seattle</City>
<State>WA</State>
<Phone>(206) 284-1047</Phone>
<Zip>98109</Zip></SearchResult><SearchResult>
<Name>Laredos Grill</Name>
<BusinessType>Tex-Mex Bars</BusinessType>
<Rating>mStar35</Rating>
<Address>555 Aloha St Ste 100</Address>
<City>Seattle</City>
<State>WA</State>
<Phone>(206) 218-1040</Phone>
<Zip>98109</Zip></SearchResult>.......
這個XML被保存在一個文件中後反序列化。問題是我似乎無法再將其序列化。下面是我使用的代碼....
XmlSerializer serializer = new XmlSerializer(typeof(List<Service.SearchResult>));
using (StringReader stringReader = new StringReader(strXMLContent)) // can throw ArgumentNullException
{
using (XmlReader xmlReader = XmlReader.Create(stringReader))
{
//xmlReader.Read();
return ((List<Service.SearchResult>)serializer.Deserialize(xmlReader)).ToArray(); // can throw SerializationException
}
}
我得到的是抱怨錯誤「有XML文檔(2,2)中的一個錯誤」和內部異常(的InnerException = {「ArrayOfSearchResult的xmlns = 'http://tempuri.org/'不是預期的。「})
當然,在代碼中調用這個WebMethod時,集合很容易下來。直到後來我試圖手動反序列化它才發瘋。
任何想法將不勝感激...
謝謝!
相信我,如果我可以通過代理將其內聯。這是一個很長的故事,但在堅果殼中,我必須消耗已經保存的輸出。至於缺乏SOAP,也許這就是我的問題......強制SOAP輸出的任何方式? – Eric 2010-12-21 23:59:49