2011-02-16 38 views
1

我正在使用webservice(由webservices.nl提供)根據公司編號提取公司數據。名稱衝突? 'System.Array'不包含'item'的定義

myserviceBusiness = new nl.webservices.ws1.Webservicesnl(); 

nl.webservices.ws1.BusinessDossierV3PagedResult result = null; 
result = myserviceBusiness.businessGetDossierV3(KVKnr, "0000", 1); 

string address = result.results.item.EstablishmentPostcode; 

VS強調在捲曲紅線 錯誤只有「項目」 /「的System.Array」不包含關於「條目」和沒有擴展方法「項」接受類型的第一個參數「系統的定義。陣列'可以找到(你是否缺少使用指令或程序集引用?)

所以問題是智能感知不識別物品和街道名稱。 當我把別的東西從消息,它的工作原理:

string page = result.paging.curpage; 

的響應SOAP消息看起來是這樣的:

<?xml version="1.0" encoding="UTF-8"?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
<SOAP-ENV:Body> 
<businessGetDossierV3Response xmlns="http://www.webservices.nl/soap/"> 
<out> 
<paging> 
<curpage>1</curpage> 
<perpage>10</perpage> 
<numpages>1</numpages> 
<numresults>1</numresults> 
<maxresults>100</maxresults> 
</paging> 
<results> 
<item> 
<RegisterLetter>H</RegisterLetter> 
<DossierNo>50085980</DossierNo> 
<SubDossierNo>0000</SubDossierNo> 
<ChamberNo></ChamberNo> 
<Legalformcode></Legalformcode> 
<LegalformcodeText></LegalformcodeText> 
<Tradename45></Tradename45> 
<TradenameFull></TradenameFull> 
<EstablishmentPostcode></EstablishmentPostcode> 
<EstablishmentCity></EstablishmentCity> 
<EstablishmentStreetname></EstablishmentStreetname> 
<EstablishmentHouseNo></EstablishmentHouseNo> 
<CorrespondencePostcode></CorrespondencePostcode> 
<CorrespondenceCity></CorrespondenceCity> 
<CorrespondenceStreetname></CorrespondenceStreetname> 
<CorrespondenceHouseNo>97</CorrespondenceHouseNo> 
</item> 
</results> 
</out> 
</businessGetDossierV3Response> 
</SOAP-ENV:Body> 
</SOAP-ENV:Envelope> 

這是一個名稱爭端中的問題?如果是,我該如何解決? 如果不是,我如何提取結果部分中的數據?

+1

所以問題是`result.results.item`。是什麼讓你把'物品'放在那裏? – Gabe 2011-02-16 13:37:57

+0

好吧,現在它正在工作,我沒有把物品放在那裏 – Thomas 2011-02-16 13:39:22

回答

0

我認爲項目是數組索引的佔位符所以你可能想把:

string address = result.results[ 0 ].EstablishmentPostcode; 
0

該服務正在返回結果數組而不是單個結果。使用這個來代替:

string address = result.results[0].EstablishmentPostcode;