在Delphi中用XSLT轉換xml檔案格式

2022-05-06 00:48:09 字數 1214 閱讀 7115

uses

xmldoc, xmlintf;

function transform(xmlcontent : string; xslcontent : string) : widestring;

var xml : ixmldocument;

xsl : ixmldocument;

begin

xml := loadxmldata(xmlcontent);

xsl := loadxmldata(xslcontent);

xml.documentelement.transformnode(xsl.documentelement, result)

end;

試了一下,確實好用,不過對xml檔案格式的要求很嚴格。

uses

msxml2_tlb;

function xmltransform(const xmlfile: string; const xslfile: string): widestring;

var xmldoc, xsldoc: ixmldomdocument2;

xsltemplate : ixsltemplate;

xslprocessor : ixslprocessor;

begin

xmldoc := codomdocument40.create;

xmldoc.async := false;

xmldoc.load(xmlfile);

xsldoc := cofreethreadeddomdocument40.create;

xsldoc.async := false;

xsldoc.load(xslfile);

xsltemplate := coxsltemplate40.create;

xsltemplate.stylesheet := xsldoc;

xslprocessor := xsltemplate.createprocessor;

xslprocessor.input := xmldoc;

xslprocessor.transform;

result := xslprocessor.output;

end;

別問我為什麼這麼寫,我也是找了乙個下午才發現這樣好用。萬惡的delphi,出錯的時候真想踹他一腳,如果能踹著的話。。。

都是英文,好長,有時間再看。

在Delphi中用XSLT轉換xml檔案格式

uses xmldoc,xmlintf function transform xmlcontent string xslcontent string widestring var xml ixmldocument xsl ixmldocument begin xml loadxmldata xmlc...

在 XSLT 中用遞迴實現迴圈

擴充套件 xslt 能力的技術 xslt 是一種函式式程式語言,類似於 haskell 或 scheme,但是與 c 和 fortran 不同。因此這種語言沒有迴圈,也沒有可變的變數。相反,必須用遞迴和引數來代替這些結構。這篇技巧示範了如何使用命名模板和xsl call template xsl w...

在DELPHI中用執行緒排序

在資料處理量很大的情況下,如何在資料處理的同時響應使用者操作?windows95 98和windowsnt作為多執行緒的多工作業系統,其排程單元是執行緒,即執行緒是系統分配處理器時間資源的基本單元,所以我們可以利用執行緒實現在處理大批量資料的同時響應使用者操作。delphi作為乙個優秀的開發平台,對...