全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:3118
推到 Plurk!
推到 Facebook!

如何XML的產生,讀取及合併

尚未結案
alice
初階會員


發表:41
回覆:49
積分:28
註冊:2002-04-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-11-18 16:42:31 IP:211.75.xxx.xxx 未訂閱
現在想在多個TCustomClientDstaSet存檔時, 產生部分欄位資料至某同一XML檔 在Client端,待存入成功, 會將該XML與某XML檔合併,成一個XML 在某些狀況下, 會從該合併的XML,抓取資料, 我不想用TCustomClientDataSeth,savetofile,會產生太多我不要的資料,佔空間, 試看眾多的關xml的元件.TXMLDocument,TXMLTransform..., 說實在, 有點不知如何使用, 這三個大問題,如何產生xml,如何合併xml,如何讀取xml.. 不知那位先知, 可以指點名津??
liorex
初階會員


發表:19
回覆:60
積分:32
註冊:2002-08-20

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-11-18 17:14:01 IP:61.218.xxx.xxx 未訂閱
我並不熟xml 但是我想您 可以看看 xmlUtil 這一個unit (FOR DELPHI 6 )裡有沒有 您可以使用的procedure ---------------------- 一切有為法 如夢幻泡影 如露亦如電 應做如是觀 ----------------------
alice
初階會員


發表:41
回覆:49
積分:28
註冊:2002-04-30

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-11-18 17:42:34 IP:211.75.xxx.xxx 未訂閱
引言: 我並不熟xml 但是我想您 可以看看 xmlUtil 這一個unit (FOR DELPHI 6 )裡有沒有 您可以使用的procedure
我是使用Delphi 7, 好像沒看到xmlUtil的東東??
solnone
中階會員


發表:2
回覆:97
積分:69
註冊:2003-05-06

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-11-19 00:02:53 IP:203.66.xxx.xxx 未訂閱
type   TForm1 = class(TForm)     Button1: TButton;     Memo1: TMemo;     procedure FormCreate(Sender: TObject);     procedure Button1Click(Sender: TObject);   private     d1: TXMLDocument;     d2: TXMLDocument;   public     { Public declarations }   end;    var   Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.FormCreate(Sender: TObject); begin   d1 := TXMLDocument.Create(self);   d2 := TXMLDocument.Create(self); end;    procedure TForm1.Button1Click(Sender: TObject); var   node: IDOMNode; begin   // 產生   d1.XML.Text := '123'; d1.Active := True; d2.XML.Text := '456'; d2.Active := True; node := d2.DOMDocument.createElement('e'); // 合併 node.appendChild(d1.DocumentElement.DOMNode); d2.DOMDocument.documentElement.appendChild(node); Memo1.Lines.Text := d2.DocumentElement.XML; end;
solnone
中階會員


發表:2
回覆:97
積分:69
註冊:2003-05-06

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-11-19 00:04:39 IP:203.66.xxx.xxx 未訂閱
type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
private
d1: TXMLDocument;
d2: TXMLDocument;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
d1 := TXMLDocument.Create(self);
d2 := TXMLDocument.Create(self);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
node: IDOMNode;
begin
// 產生
d1.XML.Text := '123';
d1.Active := True;
d2.XML.Text := '456';
d2.Active := True;
node := d2.DOMDocument.createElement('e');
// 合併
node.appendChild(d1.DocumentElement.DOMNode);
d2.DOMDocument.documentElement.appendChild(node);
Memo1.Lines.Text := d2.DocumentElement.XML;
end;
alice
初階會員


發表:41
回覆:49
積分:28
註冊:2002-04-30

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-11-20 10:26:18 IP:211.75.xxx.xxx 未訂閱
謝謝你的指引, 我知道該如何進行了! 不過,還有個有問題: 我的xml的格式如下:
 





會因TYPE不同,而內容不同 我有何方式去讀取它? 再指引一盞明燈吧!! Thanks!!
solnone
中階會員


發表:2
回覆:97
積分:69
註冊:2003-05-06

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-11-20 21:46:21 IP:203.66.xxx.xxx 未訂閱
你的xml不對吧…我想是這樣 procedure TForm1.Button1Click(Sender: TObject); var i: integer; NodeList: IXMLNodeList; RowType: string; NO: string; begin NodeList := XMLDocument1.DocumentElement.ChildNodes; for i := 0 to NodeList.Count -1 do begin RowType := NodeList.Get(i).Attributes['TYPE']; NO := NodeList.Get(i).Attributes['NO']; //... end; end;
系統時間:2024-05-18 13:16:38
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!