我在Delphi 11中使用FMX.我需要编写一个简单的应用程序来使用XSLT文件转换一个XML文件.

此代码在Windows上运行良好:

uses xml.XmlIntf, xml.doc;
...  
procedure TForm2.BtnTransformXML(Sender: TObject);
var
  XML : IXMLDocument;
  XSL : IXMLDocument;
  XMLOutput : Widestring;
begin
  XML := LoadXMLData(ReadTextFile(FXML_File));
  XSL := LoadXMLData(ReadTextFile(FXSLT_File));
  XML.DocumentElement.TransformNode(XSL.DocumentElement, XMLOutput);
  Memo1.Text := XMLOutput;
end;

但是,当我在Android上运行时,我得到一个错误:

DOM供应商‘OMMI XML’不支持属性或方法‘TransformNode’

我希望try 其他供应商,但我不知道如何改变它,或者可能改变它的方法来转换XML文件.

推荐答案

TransformNode documentation人:

注意:仅当用于解析此 node 的XML文档的DOMVendor为MSXML时,TransformNode才可用.

MSXML仅在Windows上可用.RAD Studio附带的其他DOMVendor没有实现TransformNode()(我查看了源代码,可以验证这一点).

所以,除非你想try 在自己的DOMVendor中实现它,否则你必须找到另一个在非Windows平台上工作的解决方案.

Android相关问答推荐

如何从sqlite数据库中检索数据到碎片android?

Android Jetpack Compose调用view-model函数仅一次

如果我的圆形图像的顶部居中于卡片内部,我如何在其下方画一条弧线?

Hilt+Worker NoSuchMethodException:<;init>;[class android.content.Context,class androidx.work.WorkerParameters]

闪屏 API 无法在 Android 12 上运行(API 31、32)

Android:使用依赖项 ViewModelProviderFactory 初始化 ViewModel 的正确方法

根据另一个数组的值对数组进行排序

用作输入参数的 Lambda 函数导致重组

服务似乎在启动时忽略传递的变量

未解决的参考:pagerTabIndicatorOffset

为什么项目捕获对象给我在 Compose 中找不到参考

我们也可以或应该对主要小部件使用预览 compose 功能吗?

验证硬编码密码

react 从输入中找到路径'lib/arm64-v8a/libfbjni.so'的本机2个文件

我的观点在jetpack compose中相互重叠

我的 react native 项目的发布签名 apk 没有在设备中打开,而且它创建的尺寸非常小

为什么我在 Jetpack Compose 中被警告可选修饰符参数应该具有默认值修饰符?

Android YouTube SDK - 视频无法在某些 Android 设备中播放

如何在 Kotlin 的片段中制作图像列表?

使用协程访问数据库