Имя Конфликт? 'System.Array' не содержит определения для 'item' - PullRequest
1 голос
/ 16 февраля 2011

Я использую веб-сервис (предоставляемый webservices.nl) для извлечения данных о компании в зависимости от номера компании.

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'не содержит определения для' item 'и не найден метод расширения' item ', принимающий первый аргумент типа' System.Array '(отсутствует директива using или ссылка на сборку?)

Таким образом, проблема в том, что intellisense не распознает пункт, а также название улицы.Когда я извлекаю что-то еще из этого сообщения, оно работает:

 string page = result.paging.curpage;

Ответное мыльное сообщение выглядит так:

<?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>

Является ли эта проблема конфликтом имен?Если да, как я могу решить это?Если нет, как я могу извлечь данные в части результатов?

Ответы [ 2 ]

0 голосов
/ 16 февраля 2011

Я думаю, что item является заполнителем для индексатора массива, поэтому вы, вероятно, захотите поместить:

string address = result.results[ 0 ].EstablishmentPostcode;
0 голосов
/ 16 февраля 2011

Служба возвращает массив результатов вместо одного результата.Используйте это вместо:

string address = result.results[0].EstablishmentPostcode;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...