chandra sekhar Ответов: 1

Как найти значение атрибута в XML


<server><requests><Session.loginRq userName="admin" password="admin" />
<IntegrationCBO.ProcessWCFServiceRq name="test" binding="http" url="http://abrxmlsearch.asmx" searchString="53004085616" includeHistoricalDetails="N" authenticationGuid="88bf33e2-96a6-402c-a870-47c03af2a80b"></IntegrationCBO.ProcessWCFServiceRq><Session.closeRq /></requests></server>


Как получить значение строки поиска?

Что я уже пробовал:

var Number = rootelement.Element("server").Element("requests").Element("Session.loginRq").Element("IntegrationCBO.ProcessWCFServiceRq").Attribute("searchString");

Richard MacCutchan

Что произошло, когда вы запустили этот код?

1 Ответов

Рейтинг:
6

Richard MacCutchan

Хорошо, давайте начнем с форматирования вашего XML в читаемую таблицу:

<server>
  <requests>
    <Session.loginRq userName="admin" password="admin" />
    <IntegrationCBO.ProcessWCFServiceRq 

      name="test" 

      binding="http" 

      url="http://abrxmlsearch.asmx" 

      searchString="53004085616" 

      includeHistoricalDetails="N" 

      authenticationGuid="88bf33e2-96a6-402c-a87047c03af2a80b">
    </IntegrationCBO.ProcessWCFServiceRq>
    <Session.closeRq />
  </requests>
</server>

Теперь вы можете ясно видеть, что IntegrationCBO.ProcessWCFServiceRq является дочерним по отношению к requests узел, а не Session.loginRq.


chandra sekhar

Так каково же будет решение?

Richard MacCutchan

Это совершенно очевидно. Используйте правильные узлы в правильном порядке для обращения к интересующему вас атрибуту.