Topic: Парни есть работа

Ищу волшебника, нужно сделать прогу для вытаскивания инфы их exel файлов, строки столбы. И добавляющую эту инфу в один эксель файл. Парсинг баз данных, из многих файлов нужно чтобы вытаскивало.
Готов отблагодарить свободного волшебника презренным металлом.
Подробно.
есть файлы xml - пример файл KV в приложении. ссылка drive.google.com/file/d/0B8ZlBSvB5Id2dnZsZG1HQUstb2VKSGJrLXBDazVFX1VGbVFv/view?usp=sharing  И таких много. Из них нужно вытащить строки и столбы.
<FamilyName>Мочалова</FamilyName>
<FirstName>Елена</FirstName>
<Patronymic>Сергеевна</Patronymic>

<adrs:Street Name="Маршала Захарова" Type="ул" />
<adrs:Level1 Type="д" Value="12" />
<adrs:Level2 Type="корп" Value="1" />
<adrs:Level3 Type="литера" Value="А" />
<adrs:Apartment Type="кв" Value="144" />
</Address>
<PositionInObject>
<Levels>
<Level Number="4" Type="01">
<Position NumberOnPlan="144">

<Area>38.8</Area>

<RegNumber>78-78/035-78/080/020/2015-282/3</RegNumber>
<RegDate>2015-10-02</RegDate>

ShareText>1/2</ShareText>

и нумерацию строк добавить.
Пример файла который должен получится и многих тоже в приложении, ссылка drive.google.com/file/d/1vY547H7SNFGTD_8jOHeb7lF7dncuo1gr/view?usp=sharing

Парни с руками и головой, начальство пилит и все горит, прошу помощи волшебника, отблагодарю.

Post's attachments

Attachment icon ot1.zip 6.29 kb, 240 downloads since 2019-09-16 

Re: Парни есть работа

посмотрите тут

http://myvisualdatabase.com/forum/viewtopic.php?id=2840

3 (edited by sibprogsistem 2019-09-16 11:47:10)

Re: Парни есть работа

ХМ.. Дмитрий, а что если  сделать Form1.TableGrid1.LoadFromXmlFile(имя колонки 1: адрес значения1, имя колонки 2: адрес значения 2,)   получится хороший парсер XML..
так же можно и с JSON поступить

Re: Парни есть работа

Попарился с примерами, хотел написать слова благодарности. Но я туп как пень, не получилось ничего из примеров, вопервых никак не получается выбрать несколько файлов для импорта, во вторых сам импорт не сделать, хз, проклятье какоето, проекты не работают у меня.

5 (edited by sibprogsistem 2019-09-17 14:47:19)

Re: Парни есть работа

qwerty098756677 wrote:

Попарился с примерами, хотел написать слова благодарности. Но я туп как пень, не получилось ничего из примеров, вопервых никак не получается выбрать несколько файлов для импорта, во вторых сам импорт не сделать, хз, проклятье какоето, проекты не работают у меня.


 

Вот Вам подсказка.. Просто я не знаю лицензия у Вас или нет..

procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
    sl:TStringList;
    s, sRow, sReestrExtract: string;
    iPos1, iPos2, iOffset: integer;
begin
     sl:= TStringList.Create;
     sl.LoadFromFile('kv_0aa24c23-6862-49d3-a228-5d207b59f333(1).xml');
     iOffset := 1;
     iPos1 := 1;
while true do
     begin

         iPos1 := PosEx('<Right>', sl.Text, iOffset);
         if iPos1=0 then break;

         iPos2 := PosEx('</Right>', sl.Text, iOffset);
         iOffset := iPos2+1;

         sRow := Copy(sl.Text, iPos1, iPos2-iPos1);

         s := Copy(sRow, Pos('<FamilyName>', sRow)+Length('<FamilyName>') , Pos('</FamilyName>', sRow)-Pos('<FamilyName>', sRow)-Length('<FamilyName>'));
         s := s+' '+ Copy(sRow, Pos('<FirstName>', sRow)+Length('<FirstName>') , Pos('</FirstName>', sRow)-Pos('<FirstName>', sRow)-Length('<FirstName>'));
         s := s+' '+ Copy(sRow, Pos('<Patronymic>', sRow)+Length('<Patronymic>') , Pos('</Patronymic>', sRow)-Pos('<Patronymic>', sRow)-Length('<Patronymic>'));

         showmessage(s);
   end;

end;

дальше Вам нужно вытащить адрес... В XML я вижу 2-а человека и один адрес, тоесть Вам нужно  двух людей записать на 1-н адрес
я правельно понимаю?

Re: Парни есть работа

Всем спасибо, волшебник нашелся и свари трактат, который мы все будем курить. Тема закрыта. Всем мир.