2011-02-16 48 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;