西班牙
斯潘4
大家好
这不是一个问题,而是关于我如何解决这个问题的一些反馈/提示-希望它也能帮助那些在类似项目中遇到问题的人。我试图创建一个动态的html仪表板,它从数据库记录中读取一堆实时值,然后在html表中用标签显示它们,这些值的顺序、布局和结构是我想要格式化的。HTMLreportgenerator转换器没有给我足够的控制权,所以我最终使用了xmltemplater。
如果要使用xmltemplater创建html页面,可能会发现在运行工作区时,html代码并不总是正确解析(对html进行计算以确保其符合xml标准)。原因是某些HTML标记没有正确打开或关闭。由于我的HTML仍然非常有效,解决方法是注释掉(使用“ “)在xmltemplater中使用的那些html代码,然后使用stringreplacer转换器查找并替换所有” “strings并将其替换为”“(为此,您需要两个stringreplacer变压器)。然后可以将其输出到html编写器。
现在,由于我想显示同时读取的所有数据(而不是在工作流中处理它们时逐个显示),为了能够按照我想要的顺序引用它们中的每一个,我将数据导入到一个listbuilder transformer中,其中有两个感兴趣的字段,比如“name”和“value”。亚搏在线listbuilder创建一个默认名为“_list”的列表。作为一个例子,列表将存储这样的内容。
名称值
———————————————————————————-
ABC“1.23456”
“定义”“2.06789”
“GHI”“5.54321”
———————————————————————————--
要引用html文件中的值,请创建一个html表,然后使用fme:get attribute xquery函数添加“names”和“values”。注意,因为我使用了list,所以我第一次尝试使用fme:get list属性函数,但是根本不起作用。正确的显示列表项的方式如下:{fme:get attribute(“_list{39}.value”)}。
假设您想使用一些数学函数,比如将一些值加在一起,可以这样做:{xs:double(fme:get attribute(“_list{69}.value”))+xs:double(fme:get attribute(“_list{70}.value”))}。这称为xquery的类型转换。如果您想了解更多关于XQuery,以及如何使用这些功能(如“XS:双”和“FN:号格式”功能),看看https://docs.microsoft.com/en-us/sql/xquery/type-casting-rules-in-xquery
这很可能将是更好的限制显示小数位的数量。小数位数的数量限制在两个可能如下进行。
{FN:号格式(XS:双(FME:获得属性( “_列表{69} .value的”))+ XS:双(FME:获得属性( “_列表{70} .value的”)),”0.00' )}
然而,这可能使你的HTML代码有点难以阅读和维护,因此,或许宁可使用AttributeRounder变压器您ListBuilder变压器前的小数位数量限制为两(这是我最终没有)。
下面是用来做什么,我需要变压器的图片。
这些步骤做了什么,我需要创建我的dashboard.Perhaps还有一个更简单的方法来做到这一点。我不得不这样做在网上搜索,找到所有谜题的碎片做到这一点的相当多。但是,也许有更好的方式来做到这一点。如果你知道这样的方法的,请在这里发表您的解决方案,以及。另外,如果我说的是混乱,我需要提供更多的信息,让我知道。
什么是好的,这里对我来说,我现在在FME几个变压器更换1,800+线路编码的仪表盘。这肯定会提高,从长远来看保养。
你好@francois_binnem,这是真的,有很多情况下,一个HTML文档不能与XML工具,因为HTML规格比纯XML宽松的解析,但在我的理解,大多数HTML元素也可以用语法严格符合XML规范编写的。在这种情况下,例如,你可以创建一个HTML
的名字 | 价值 |
---|---|
{$名称} | {fn: format-number (xs:双(美元值[$ i]), " 0.00 ")} |
此外,如果您在使用XMLTemplater子表达式,它不会是必不可少的创建列表属性
ROOT表达:
的名字 | 价值 |
---|
SUB表达:
{FME:获得属性( “名称”)}{FN:号格式(XS:双(FME:获得属性( “值”)), “0.00”)}
在这两种情况下,你可以前后表格元素后添加其他HTML元素,在模板中表达或随后的变压器如StringConcatenator。
老实说,我不清楚是什么问题都没有。我缺少的东西吗?
我错了吗?标题 标题
喷火
酒吧
?2019安全亚搏在线软件公司|合法的