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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.06.2010, 14:08   #1
Driver_09
Пользователь
 
Регистрация: 11.10.2009
Сообщений: 61
По умолчанию Нужно зайти в узлы хмл-файла в делфи

Цитата:
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, xmldom, XMLIntf, msxmldom, XMLDoc, ExtCtrls, StdCtrls, Grids;

type
TForm1 = class(TForm)
StringGrid1: TStringGrid;
Memo1: TMemo;
Splitter1: TSplitter;
xml: TXMLDocument;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var iroot,iNode,iNode2:ixmlNode;
str:string;
i,x,j:integer;
begin
StringGrid1.DefaultColWidth:=120;
StringGrid1.DefaultRowHeight:=16;
StringGrid1.ColWidths[0]:=25;
StringGrid1.RowHeights[0]:=20;
StringGrid1.RowCount:=66;

XML.FileName:='D:\Inventory Big.xml';
xml.Active:=true;
iRoot:=XML.DocumentElement;
StringGrid1.Cells[0,0]:='№';
StringGrid1.Cells[1,0]:='Фамилия';
StringGrid1.Cells[2,0]:='Имя';
StringGrid1.Cells[3,0]:='Отчество';
StringGrid1.Cells[4,0]:='ИНН';
StringGrid1.Cells[5,0]:='Код региона';
for i:=0 to iroot.ChildNodes.Count-1 do
begin
StringGrid1.Cells [0,i+1]:=IntToStr(i+1);
iNode:=iroot.ChildNodes[i]; //Автор
iNode:=iNode.ChildNodes.FindNode('A UTHOR');
StringGrid1.Cells [1,i+1]:=iNode.NodeValue;

iNode:=iroot.ChildNodes[i]; //НАЗВАНИЕ
iNode:=iNode.ChildNodes.FindNode('T ITLE');
StringGrid1.Cells [2,i+1]:=iNode.NodeValue;

iNode:=iroot.ChildNodes[i]; //КОЛ-ВО СТРАНИЦ
iNode:=iNode.ChildNodes.FindNode('P AGES');
StringGrid1.Cells [4,i+1]:=iNode.NodeValue;

iNode:=iroot.ChildNodes[i]; //ЦЕНА
iNode:=iNode.ChildNodes.FindNode('P RICE');
str:=iNode.NodeValue;
delete(str,1,1);

if str[j]='.' then str[j]:=DecimalSeparator;
StringGrid1.Cells [3,i+1]:=str;
end;
end;
end.
Вот этим кодом обрабатывается файл Inventory Big.xml...
Помогите примерно таким же способом зайти в узлы (ИННФЛ, Фамилия, Имя, Отчество, КодРегион(остальные не надо)) файла ДОХОД_2НДФЛ_27.xml
P.S. так файлы хмл, то пришлось в архив закинуть...
Вложения
Тип файла: rar файлы.rar (10.8 Кб, 16 просмотров)
Driver_09 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
узлы TreeView street-walker Общие вопросы Delphi 0 30.05.2010 19:11
Запись дополнтельной информации в узлы TreeView iiunbreakableii Общие вопросы Delphi 2 14.02.2010 22:56
Решить задачку нужно на Делфи. stasig Помощь студентам 3 19.04.2009 23:02
TXMLTransformProvider выгрузка данных в хмл MAcK Общие вопросы Delphi 1 15.04.2009 22:00