Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.09.25;
Скачать: CL | DM;

Вниз

запрос значения параметра (XMLDocument)   Найти похожие ветки 

 
lehich   (2005-08-25 16:23) [0]

подскажите как запросить значение параметра (параметры: IDDOC, IDUL, OGRN, INN, KPP) используя XMLDocument? кусок кода XML привожу ниже...

заранее премного благодарен!
______________________

<?xml version="1.0" encoding="windows-1251" standalone="no"?>
<MESS_DATA VER="1.0">
<HEADER IDFILE="######" S_ID="######" S_CODE="###" S_NAME="######" TIMESTAMP="13.10.2004_14.18.12" PRG_VER="1.0.0 от 01.08.2004" CNT_DOK="    16631">
<USER DOLGN="######" FAM_FL="#####" NAME_FL="####" OTCH_FL="#####" TEL="#####" EMAIL="####"/>
</HEADER>
<UL IDDOK="####" IDUL="######" OGRN="######" INN="######" KPP="#######">


 
Polevi ©   (2005-08-25 16:43) [1]

selectSingleNode + getAttribute


 
lehich   (2005-08-25 17:39) [2]

посмотрел пример во встроенной помощи Delphi... :
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<!DOCTYPE StockHoldings SYSTEM "sth.dtd">
<StockHoldings>
  <Stock exchange="NASDAQ">
     <name>Borland</name>
     <price>15.375</price>
     <symbol>BORL</symbol>
     <shares>100</shares>
  </Stock>
  <Stock exchange="NYSE">
     <name>Pfizer</name>
     <price>42.75</price>
     <symbol>PFE</symbol>
     <shares type="preferred">25</shares>
  </Stock>
</StockHoldings>

и далее работа через:
BorlandStock := XMLDocument1.DocumentElement.ChildNodes[0];
Price := BorlandStock.ChildNodes["price"].Text;

но всё дело в том что у меня-то значения параметров не находятся внутри двойных квадратных скобок... у меня не
<price>42.75</price>
а
<price="42.75"/>
и как отсюда вытаскивать чего-то не могу понять... :-(((
как например вытащить значения для IDDOC, IDUL, OGRN, INN, KPP идущие после знака равенства???


 
Fay ©   (2005-08-25 17:40) [3]

2 lehich   (25.08.05 16:23)
Прикольно! Какой знакомый формат 8)
Это файлы из МНС?


 
lehich   (2005-08-25 17:41) [4]


> Fay ©   (25.08.05 17:40) [3]

совершенно верно... и так как все у нас в россии делается через одно место, то ПО для выгрузки такого файла написали а для загрузки и дальнейшей работы нифига... и естественно на все вопросы получаешь полный пофигительный ответ... может у тебя есть что???


 
Fay ©   (2005-08-25 17:45) [5]

2 lehich   (25.08.05 17:41) [4]
Конечно есть. Я второй год с ними (этими файлами) работаю и диплом на эту тему писал. Только корень не <MESS_DATA VER="1.0">, а <EGRIP_IP(UL)_DATA VER="1.0">.


 
lehich   (2005-08-25 17:49) [6]

я конечно понимаю что это попахивает очень большим халявством, лейтяйничеством и всякими другими вещами но может можно поделиться???

P.S. прошлый формат мне больше нравился... он в Access лего заливался :-)))


 
lehich   (2005-08-25 17:52) [7]


> Fay ©   (25.08.05 17:45) [5]

знаю что не такой корень... просто исправил чтобы егрюл не мелькал перед глазами :-)))

<EGRUL_UL_DATA VER="1.0">
<HEADER IDFILE="RUM_29055_050204_1"


 
Fay ©   (2005-08-25 17:54) [8]

2 lehich   (25.08.05 17:49) [6]

>> но может можно поделиться???
Это мой хлеб, вАщЕ-то. Да и шеф не поймёт. А взаимовыгодное сотрудничество не устроит? 8)

З.Ы.
Прошлый формат - это XML без вложенности и без атрибутов? Гадость редкая : на 50-ти метрах DOM-парсер жрал за гигабайт.


 
lehich   (2005-08-25 17:57) [9]


> взаимовыгодное сотрудничество не устроит?

более чем устроит!!!
а в чем оно будет проявляться??? кстати ты с какой стороны с передающей или принимающей это всё? :-)))


 
Fay ©   (2005-08-25 18:00) [10]

2 lehich   (25.08.05 17:57) [9]

Смотри почту.


 
lehich   (2005-08-25 18:10) [11]

если не сложно кинь еще на oapik@bk.ru
а то lehich на валуе... а там мыло никогда не было скоростным и надежным :-(((


 
Fay ©   (2005-08-25 18:20) [12]

2 lehich   (25.08.05 18:10) [11]
Ушло


 
Fay ©   (2005-08-25 18:44) [13]

2 lehich   (25.08.05 18:10) [11]
Есть успехи? Я не следил за переговорами...


 
lehich   (2005-08-26 10:58) [14]


> Fay ©   (25.08.05 18:44) [13]

определенные успехи есть :-))) я теперь знаю куда копать :-)))

еще по ходу всплыл один вопросик... там где перечисление видов деятельности идет (OKVED) как перебирать их все подряд до последнего? циклом через до Count property (IXMLNodeCollection)? видел там перемещение к следующей и предыдущей записи, но аналогию EOF для xml документа не нашел...


 
REA   (2005-08-26 11:23) [15]

ну атрибуты там - см. соотв функцию Delphi как сказали в [1]


 
REA   (2005-08-26 11:26) [16]

циклом по ChildNodes до Count-1


 
lehich   (2005-08-26 12:06) [17]


> REA   (26.08.05 11:26) [16]

респект! щаз попробую...


 
Fay ©   (2005-08-26 13:39) [18]

2 lehich   (26.08.05 10:58) [14]
А меня разбор на SAX-парсере. Параметры зазбора ваще хранятся в файле 8)


 
lehich   (2005-08-26 14:25) [19]


> Fay ©   (26.08.05 13:39) [18]

а я нифига в этом не понимаю... :-)))

научишь? %-)))


 
Fay ©   (2005-08-26 14:50) [20]

2 lehich   (26.08.05 14:25) [19]
>> научишь?
Можно попытаться. 8)
Есть готовые вопросы, поддающиеся формулировке?


 
Fay ©   (2005-08-26 14:53) [21]

2 lehich   (26.08.05 14:25) [19]
Я бы кинул готовым проектом, но
1) имею прямой запрет
2) код не из простых - не зная идеи разбирать долго.


 
имя   (2005-08-26 15:09) [22]

Удалено модератором


 
lehich   (2005-08-26 15:49) [23]


> Fay ©   (26.08.05 14:53) [21]

я не хочу готовый проект... я тогда подохну от скуки :-))) да и профессиональному росту не шибко поможет %-)))


 
Fay ©   (2005-08-26 16:45) [24]

2 lehich   (26.08.05 15:49) [23]
Я пользовался вот этим.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/xmlsdk/html/b4f7414b-4af9-4c04-8a6a-06b58d0e74d0.asp

+

TAnyClass = class(TObject, IVBSAXContentHandler, IVBSAXErrorHandler)
...
public
...
procedure AnyMethod(...)
...
end;

...

procedure TAnyClass.AnyMethod(...);
...
begin
...
FVBSAXXMLReader := IVBSAXXMLReader(CreateComObject(CLASS_SAXXMLReader));
 try
   ...
   FVBSAXXMLReader.contentHandler := IVBSAXContentHandler(Self);
   FVBSAXXMLReader.errorHandler := IVBSAXErrorHandler(Self);
   FVBSAXXMLReader.parseURL(YourFileName);
   ...
 finally
   ...
   FVBSAXXMLReader := nil;
   ...
 end;
...
end;


Какие методы перекрыть и зачем, думаю, догадаешься.


 
lehich   (2005-08-29 09:14) [25]

как вопрос решаешь с необязательными полями? через исключения? я попробовал так, но шибко уж их дофига получается... код становится слишком объемным :-(((


 
lehich   (2005-08-31 11:00) [26]

обновлю сабж...



Страницы: 1 вся ветка

Текущий архив: 2005.09.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.035 c
3-1124104138
sashuly
2005-08-15 15:08
2005.09.25
Подключение к MS SQL Servery


14-1125152413
Гоман
2005-08-27 18:20
2005.09.25
Вопрос про дефективный монитор


14-1125085422
Piter
2005-08-26 23:43
2005.09.25
ЦСКА - ЛИВЕРПУЛЬ


1-1125745385
RzCoDer
2005-09-03 15:03
2005.09.25
создание TBitmap из нескольких


9-1117216279
rll-progr
2005-05-27 21:51
2005.09.25
Создание игры





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский