Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.03.2015, 08:07   #1
exivmaks
Пользователь
 
Регистрация: 03.03.2015
Сообщений: 10
По умолчанию Поиск в XML по условию

Всем привет, я НУБик в этом деле и знаю что сейчас посыпятся на меня упреки, но все же прошу помощи.
Пишу программу на C# для обработки данных в XML файле (на поиск незаполненных полей, на неверные данные, и т.д.).
И вот вопрос: как мне сделать так что бы при вводе , к примеру, в стоку тексбокса значения тэга <ID_PAC>, в "листе" отображались данные связанные с этим ID_PAC.
Вот сам файл:

<?xml version="1.0" standalone="yes"?>
<ZL_LIST xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<ZAP>
<N_ZAP>1</N_ZAP>
<PR_NOV>0</PR_NOV>
<PACIENT>
<ID_PAC>7</ID_PAC>
<VPOLIS>3</VPOLIS>
<NPOLIS>7554110888000272</NPOLIS>
<ST_OKATO>76000000000</ST_OKATO>
<SMO>75001</SMO>
<SMO_OGRN>1027501157386</SMO_OGRN>
<SMO_OK>76000</SMO_OK>
<SMO_NAM>ГК "ЗАБАЙКАЛМЕДСТРАХ"</SMO_NAM>
<NOVOR>0</NOVOR>
</PACIENT>
<SLUCH>
<IDCASE>22417</IDCASE>
<USL_OK>3</USL_OK>
<VIDPOM>31</VIDPOM>
<FOR_POM>3</FOR_POM>
<LPU>750109</LPU>
<LPU_1>1</LPU_1>
<PODR>1026</PODR>
<PROFIL>53</PROFIL>
<DET>0</DET>
<NHISTORY>7/2</NHISTORY>
<DATE_1>2015-01-30</DATE_1>
<DATE_2>2015-01-30</DATE_2>
<DS1>Z00.0</DS1>
<RSLT>301</RSLT>
<ISHOD>304</ISHOD>
<PRVS>1</PRVS>
<VERS_SPEC>V004</VERS_SPEC>
<IDDOKT>055-697-812 10</IDDOKT>
<IDSP>29</IDSP>
<ED_COL>1</ED_COL>
<TARIF>261,14</TARIF>
<SUMV>261,14</SUMV>
<SUMP />
</SLUCH>
</ZAP>
<PERS>
<ID_PAC>7</ID_PAC>
<FAM>ШЕВЧЕНКО</FAM>
<IM>НЕТ</IM>
<OT>НЕТ</OT>
<W>2</W>
<DR>2015-01-24</DR>
<FAM_P>ШЕВЧЕНКО</FAM_P>
<IM_P>ЕКАТЕРИНА</IM_P>
<OT_P>СЕРГЕЕВНА</OT_P>
<W_P>2</W_P>
<DR_P>1988-09-02</DR_P>
<OKATOG>76401000000</OKATOG>
<OKATOP>76401000000</OKATOP>
<DOST>1</DOST>
<DOST>3</DOST>
</PERS>
</ZL_LIST>
exivmaks вне форума Ответить с цитированием
Старый 03.03.2015, 09:13   #2
Hollander
Участник клуба
 
Аватар для Hollander
 
Регистрация: 03.05.2007
Сообщений: 1,189
По умолчанию

Примерно так:
Код:
			// загружаем xml
			XmlDocument xDoc = new XmlDocument();
			xDoc.Load("D:\\1.xml");

			// проходим по всему xml
			foreach (XmlNode childNode in from XmlNode childNode in xDoc.DocumentElement.ChildNodes from node in (from XmlNode node in childNode where node.Name == "PACIENT" from pacientNode in (from XmlNode pacientNode in node.ChildNodes
				where pacientNode.Name == "ID_PAC"
				where pacientNode.InnerText == "7"
				select pacientNode) select node) select childNode)
			{
				/// ...
			}
Hollander вне форума Ответить с цитированием
Старый 03.03.2015, 10:18   #3
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

xpath великолепно справится с вопросом
lomastr_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск в xml и вывод результата! SweetTequila PHP 6 04.11.2013 19:54
Поиск столбца по условию Irasen Microsoft Office Excel 5 07.06.2013 12:17
XML DOM Поиск элемента по значению Spot Общие вопросы Delphi 3 21.02.2013 09:50
поиск по условию bize Microsoft Office Excel 6 21.12.2012 22:34
поиск по сайту (яндекс xml) chij Помощь студентам 0 19.08.2009 11:22