gpt4 book ai didi

来自 infopath 的 XML 输出

转载 作者:行者123 更新时间:2023-12-04 06:52:40 25 4
gpt4 key购买 nike

我有一个程序需要格式良好的 XML 进行输入。因此,我们有一个 XML 模式来强制执行约束。为了让用户更容易输入数据,我们使用 InfoPath 生成基于 XSD 的表单。现在我们有两个问题。

  • InfoPath 生成的 XML 并不是用户真正可读的。格式有点随意。有没有办法控制输出的写入方式?
  • 我想使用表单对数据进行一些预处理。感谢另一个stackoverflow'er,我有办法通过文本字段和数据验证来做到这一点,但我无法向我的表单设计中添加一个新的文本字段,该文本字段在 XSD 中不存在。我不想存储这些数据(它更像是一个不可见的字段)。

  • 问候,

    特雷弗

    最佳答案

    不幸的是,对于您的任何一个请求,都没有很好的解决方案。不过这里有一些解释。

    对于第一项 - 表单生成的输出 XML 应该模仿您的主数据源。字段名称相同,缩进(嵌套)应与文件夹匹配。 Infopath 确实在顶部放置了一两个标记,但这些标记是必需的,并且在阅读 XML 时通常可以忽略它而不会混淆任何人。

    如果您需要更具可读性的内容,则必须编写代码以输出您想要的格式的文件。这将引入一系列其他问题,因为表单必须具有更高的信任级别才能写入本地文件。如果可能,您应该避免该路线。

    还要考虑为什么您需要 XML 更具可读性 - XML 应该是一种用于统一数据存储/传输的格式,而不是 Word 文档的替代品。用户不能只是在 Infopath 中打开保存的 XML 并以您已经设置的良好格式查看数据(或者某些用户没有表单模板的权限)。

    对于第二项 - Infopath 将显示在屏幕上的每个数据项存储为一个字段。这在诸如您描述的字段或计算字段的情况下尤其烦人(为什么要存储计算 - 只需存储基本字段并重新计算显示)。

    对此的最佳解决方案是将所有“假”字段放入数据源中的不同文件夹中(称为“TrivialFields”或类似名称)。任何解析 XML 的代码都可以忽略它,任何必须阅读 XML 的用户都可以轻松忽略该部分。

    与您获得的结果相比,需要大量工作的另一种方法是编写代码来完成您当前正在尝试在该领域进行的工作。您还可以编写代码以在每次保存表单时清除该字段 - 因此该字段将存在,但在保存的表单中将始终为空白。

    您的两个问题似乎都与阅读已保存表单的 XML 源的最终用户有关。而不是沿着这条路走下去,您应该让 XML 保持原样,让用户从 InfoPath 中查看/打印。然后,您可以明确控制格式和查看。您为处理 XML 而编写的任何后端代码都不关心是否有额外的字段或令人困惑的格式——毕竟它是代码。

    关于来自 infopath 的 XML 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2895262/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com