2011-02-24 84 views
0

我正在从这样的.NET网络服务器获取数据。不同的响应来自.net网络服务器使用NSUrlrequest

<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><GenericAndroidMethodResponse xmlns="Mortgage"><GenericAndroidMethodResult>&lt;NewDataSet&gt; 
    &lt;Table&gt; 
    &lt;LoanOfficerID&gt;3581&lt;/LoanOfficerID&gt; 
    &lt;FirstName&gt;Venkat&lt;/FirstName&gt; 
    &lt;LastName&gt;Sreenu&lt;/LastName&gt; 
    &lt;Address1&gt;d&lt;/Address1&gt; 
    &lt;City&gt;d&lt;/City&gt; 
    &lt;State&gt;Alabama&lt;/State&gt; 
    &lt;WorkPhone&gt;19999999999&lt;/WorkPhone&gt; 
    &lt;Country&gt;United States&lt;/Country&gt; 
    &lt;EmailAddress&gt;[email protected]&lt;/EmailAddress&gt; 
    &lt;companyName&gt;ensisinfo&lt;/companyName&gt; 
    &lt;CompanyURL&gt;www.ensisinfo.com&lt;/CompanyURL&gt; 
    &lt;/Table&gt; 
&lt;/NewDataSet&gt;</GenericAndroidMethodResult></GenericAndroidMethodResponse></soap:Body></soap:Envelope> 

但我在浏览器中通过传递XML参数和方法名称测试我越来越像这样。

<NewDataSet> <Table> <LoanOfficerID>3581</LoanOfficerID> <FirstName>Venkat</FirstName> <LastName>Sreenu</LastName> <Address1>d</Address1> <City>d</City> <State>Alabama</State> <WorkPhone>19999999999</WorkPhone> <Country>United States</Country> <EmailAddress>[email protected]</EmailAddress> <companyName>ensisinfo</companyName> <CompanyURL>www.ensisinfo.com</CompanyURL> </Table> </NewDataSet> 

我使用的NSURLRequest

NSURL * URL = [NSURL URLWithString:@ “http://173.31.193.92/MobileGenericWebservice/GenericWebService.asmx”]; NSMutableURLRequest * theRequest = [NSMutableURLRequest requestWithURL:url]; NSString * msgLength = [NSString stringWithFormat:@“%d”,[soapMessage length]];

[theRequest addValue: @"text/xml; charset=utf-8" forHTTPHeaderField:@"Content-Type"]; 
[theRequest addValue: @"Mortgage/GenericAndroidMethod" forHTTPHeaderField:@"SOAPAction"]; 
[theRequest addValue: msgLength forHTTPHeaderField:@"Content-Length"]; 
[theRequest setHTTPMethod:@"POST"]; 
[theRequest setHTTPBody: [soapMessage dataUsingEncoding:NSUTF8StringEncoding]]; 

为什么我变得这样。

任何人都可以帮助我。

回答

1

在XML中都是那些&lt;和其他代码可见像你的例子?
如果他们那么整个元素只是被解析为一个巨大的字符串,在<GenericAndroidMethodResult>节点。

+0

然后我该如何解决它,我需要个人,我如何转换这些&lt; – MaheshBabu 2011-02-24 11:09:33

+0

有一个NSString方法“stringByReplacingOccurencesofString”,可以让你修改符号。你可以编写一个函数来检查字符串并“修复”它。然后你可以解析这个字符串。或者您可以扫描字符串并提取出您需要的数据。 – Walter 2011-02-24 12:35:41

+0

我尝试stringByReplacingOccurencesofString但没有变化 – MaheshBabu 2011-02-25 05:25:59

0

告诉你的.NET人解决它。你得到的不是一个有效的XML。