Главная страница
    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.04 c
8-1115491218
VasRog
2005-05-07 22:40
2005.09.25
GraphicEx + формат файла


2-1124276233
Валя
2005-08-17 14:57
2005.09.25
Ну почему мне проще написать ...


14-1125280392
Булат
2005-08-29 05:53
2005.09.25
справочник


10-1103526978
asafr
2004-12-20 10:16
2005.09.25
COM. Передача параметра из одного приложения в другое.


1-1123872497
ArtemESC
2005-08-12 22:48
2005.09.25
Abbrevia Zipper





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский