我已经获得了一个示例XML文件(最终我的客户端每天将收到其中的几个),以及一个XSLT文件,它显然会将XML转换为具有有意义布局的内容,适合在浏览器中显示或打印.
我想在现有的旧版Delphi应用程序中添加一些内容,以便用户可以从驱动器中选择一个XML文件并"显示"它(在TWebBrowser或类似文件中).
我不知道从哪里开始,谷歌搜索delphi,xml和xslt给我看来似乎是基于数据模块/数据库的例子; 我只想将给定的XML文件转换为屏幕上的内容.看起来它可能涉及到PageProducer,但我无法理解我需要做的事情.有人提供任何指针,或者可能是快速教程的链接吗?
非常感谢!
Ken*_*ton 10
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;
Run Code Online (Sandbox Code Playgroud)
我使用MSXML库在Delphi中进行XSLT转换.很久以前了.像魅力一样工作!
我不确定你的XSLT会产生什么输出格式,但知道这会帮助你弄清楚如何显示它.我们通过XSLT从XML生成HTML,并在我们的应用程序的窗格上使用ActiveX Web浏览器(IE)控件显示它.
这是MSSXML和Delphi上可能有用的链接.
顺便说一句:如果这是您第一次使用XSLT,则可以手动编辑XML文件,并添加指令以使用特定的XSLT进行显示.在编辑后在Firefox中打开XML时,将应用XSLT,它将显示MSXML调用的输出.这是您手动添加到xml的行:
<?xml-stylesheet type="text/xsl" href="myStyleSheet.xsl"?>
Run Code Online (Sandbox Code Playgroud)