Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вывести определенные атрибуты в XML 
:(
    Опции темы
Telsystems
Дата 8.8.2013, 14:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 26.7.2012

Репутация: нет
Всего: нет



Добрый день. Ести XML :

Код

<NewDataSet>
 <OrganizationProperties>
    <OrganizationID>2147</OrganizationID>
    <FieldName>QuickPayFields</FieldName>
    <FieldValue />
    <FieldOwner>false</FieldOwner>
    <DisplayFieldValue />
  </OrganizationProperties>
  <OrganizationProperties>
    <OrganizationID>2147</OrganizationID>
    <FieldName>XMLTemplate</FieldName>
    <FieldValue>
        <billers>
            <Col1Name>Key</Col1Name>
            <Col2Name>Value</Col2Name>
            <UseCalendar>false</UseCalendar>
            <MethodsList>
                <Method Name="NewComboDictionary1" type="ComboDictionary" ReadOnly="true" DictionaryId="1125"  FilterField="@aaaaa">
                    <values>
                        <pair dic="Kagent" QF="Выбор службы"/>
                        <pair dic="Id" QF="Код службы"/>
                    </values>
                </Method>
                <Method Caption="Запрос счета" type="BillRequestBox">
                    <values>
                        <Field name="Filter" label="@aaaaa"/>
                        <Field name="FirmName" label="Выбор службы"/>
                        <Field name="FirmId" label="Код службы"/>
                        <Field name="LS" label="Лицевой счет"/>
                    </values>
                </Method>
            </MethodsList>
            <FieldsList>
                <Field label="@aaaaa" Visible="false" Value="11111"/>
                <Field label="Выбор службы" IsObligatory="true" MethodName="NewComboDictionary1"/>
                <Field label="Код службы" IsObligatory="true" ReadOnly="true"/>
                <Field label="Лицевой счет" IsObligatory="true"/>
            </FieldsList>
        </billers>
    </FieldValue>
    <FieldOwner>true</FieldOwner>
    <DisplayFieldValue>
        <span title="<billers><Col1Name>Key</Col1Name><Col2Name>Value</Col2Name><UseCalendar>false</UseCalendar><MethodsList><Method Name="NewComboDictionary1" type="ComboDictionary" ReadOnly="true" DictionaryId="1125"  FilterField="@aaaaa">
            <values>
                <pair dic="Kagent" QF="Выбор службы"/>
                <pair dic="Id" QF="Код службы"/>
            </values>
            </Method>
            <Method Caption="Запрос счета" type="BillRequestBox">
                <values>
                    <Field name="Filter" label="@aaaaa"/>
                    <Field name="FirmName" label="Выбор службы"/>
                    <Field name="FirmId" label="Код службы"/>
                    <Field name="LS" label="Лицевой счет"/>
                </values>
            </Method>
            </MethodsList>
            <FieldsList>
                <Field label="@aaaaa" Visible="false" Value="11111"/>
                <Field label="Выбор службы" IsObligatory="true" MethodName="NewComboDictionary1"/>
                <Field label="Код службы" IsObligatory="true" ReadOnly="true"/>
                <Field label="Лицевой счет" IsObligatory="true"/>
            </FieldsList>
            </billers>">
            <billers>
                <Col1N...</span></DisplayFieldValue>
  </OrganizationProperties>
</NewDataSet>



Нужно вытащить все, что находится в <MethodsList> и <FieldsList>

Тоесть эти значения

Код

<Field name="Filter" label="@aaaaa"/>
<Field name="FirmName" label="Выбор службы"/>
<Field name="FirmId" label="Код службы"/>
<Field name="LS" label="Лицевой счет"/>



и

Код

<Field label="@aaaaa" Visible="false" Value="11111"/>
<Field label="Выбор службы" IsObligatory="true" MethodName="NewComboDictionary1"/>
<Field label="Код службы" IsObligatory="true" ReadOnly="true"/>
<Field label="Лицевой счет" IsObligatory="true"/>



Сейчас я реализовываю так :

Код

XmlDocument xml = new XmlDocument();
xml.LoadXml(xmlFile);
string tests = xml.GetElementsByTagName("OrganizationProperties")[4]["FieldValue"]["billers"]["MethodsList"].InnerXml;



Но так не правильно, знаю.

Подскажите пожалуйста как это сделать правильно?

Спасибо.
PM MAIL   Вверх
Telepyz
Дата 2.9.2013, 15:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 119
Регистрация: 9.7.2007

Репутация: нет
Всего: 1





Код

XmlDocument xml = new XmlDocument();
xml.LoadXml(xmlFile);
XmlNodeList nodesFieldsList = xml.DocumentElement.SelectNodes("//FieldsList/Field");
XmlNodeList nodesMethodsList = xml.DocumentElement.SelectNodes("//MethodsList//Field");

foreach (XmlNode node in nodesFieldsList )
{
   //что ты там делаешь с ними
}
foreach (XmlNode node in nodesMethodsList )
{
   //что ты там делаешь с ними
}




--------------------
обновить драйвер
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1066 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.