InfoPath是什么 如何用它来设计基于XML的表单

1次阅读

infopath已于2026年10月终止支持,是2003–2013年推出的xml表单设计工具,依赖本地客户端及sharepoint server,核心为xpath可视化绑定;现仅限存量维护,推荐迁至power apps、blazor/react或nintex。

InfoPath是什么 如何用它来设计基于XML的表单

InfoPath 已于 2026 年 10 月正式终止支持,microsoft 不再提供更新、安全补丁或技术支持。不建议新项目使用 InfoPath,现有表单应尽快迁出。


InfoPath 是什么:一个已停更的 XML 表单设计工具

InfoPath 是 Microsoft 在 2003–2013 年间推出的桌面客户端应用,用于设计、填充和提交基于 XSD 架构XML 表单。它深度集成 Office 和 SharePoint(2007–2013),可生成 .xsn 包,运行时依赖本地安装的 InfoPath Filler 或浏览器中的 InfoPath Forms Services(仅限 SharePoint Server)。

它的核心能力是「可视化绑定控件到 XML 节点」,比如拖一个文本框,指定其 Binding 属性为 /my:myFields/my:FirstName,底层即操作一个强结构化的 XML 实例文档。


用 InfoPath 设计 XML 表单的关键步骤(仅限存量维护场景)

若你正维护遗留系统且必须修改旧表单,需明确以下前提:

  • 仅能在 windows 上运行 InfoPath 2013(或更早版本),新版 Windows 10/11 默认不兼容
  • 目标平台必须是 SharePoint Server 2013(或更早)或本地 InfoPath Filler;Office 365 / SharePoint Online 完全不支持
  • 所有数据提交目标(如数据库、Web Service)需仍可用,且接口未变更

典型工作流如下:

1. 启动 InfoPath Designer 2013   2. 新建表单 → 选择“基于现有 XML 架构”或“空白表单”   3. 若有 XSD:通过“数据”选项卡 → “从外部数据源导入” → 选择 .xsd 文件   4. 拖入控件(文本框、下拉列表等),右键 → “控件属性” → 设置“默认值”和“XPath 绑定”   5. 使用“视图”功能切换不同布局(如“编辑视图”“只读视图”)   6. 发布前测试:按 F5 运行预览,检查 XML 输出是否符合预期(可通过“文件”→“另存为”→“XML 文档”查看原始结构)

常见错误与替代方案提醒

实际维护中高频问题包括:

  • “The form template is not compatible with this version of InfoPath”:XSN 模板由 InfoPath 2007 创建,但在 2013 中打开失败 → 需用对应版本打开并另存为新格式
  • 发布到 SharePoint 后表单无法加载 → 检查 Forms Services 是否启用、cross-domain.xml 策略是否限制、服务器时间是否同步(证书校验失败常因此引发)
  • 提交 XML 时字段丢失 → 控件未正确绑定,或 XPath 中命名空间前缀(如 my:)在 XSD 中未声明或拼写不一致

当前推荐迁移路径:

  • 轻量级:改用 Power Apps + SharePoint 列表,自动映射为 jsON,后端用 Power Automate 转发 XML(需自定义 XMLSerializer
  • 强结构化需求:用 VS Code + xsd.exe 生成 C# 类,搭配 Blazor 或 React + xml-js 库实现双向绑定
  • 政府/国企存量系统:考虑 Nintex 或 K2,它们仍支持部分 InfoPath 导入转换(但非无损)

为什么现在还提 InfoPath?因为 XML 结构惯性很强

很多政务、金融系统至今仍在解析 InfoPath 产出的 XML 格式(例如 <order><items><item><price>120</price></item></items></order>)。迁移难点不在界面,而在下游系统对这种嵌套命名空间、固定前缀、空元素处理(<phone></phone> vs <phone></phone>)的硬编码依赖。替换前务必抓取真实提交流量做 schema diff。

text=ZqhQzanResources