Текущий архив: 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