4

我有一个 InfoPath 2010 表单的问题,它背后有一些代码。我的表单的目的是从用户那里收集数据,并使用提供的答案自动填充许多必需的任务。这些任务填充在表单上的重复部分中。我后面的代码包含自动填充重复部分中每个条目的逻辑。我正在使用 XMLWriter 类和 WriteStringElement 方法来填充重复部分中的每个字段。

最初,所有这些逻辑看起来都按预期工作,这些部分按预期填充。然而,我现在意识到写入表单 XML 的字段存在问题。

使用工作流,我正在为重复部分中的每个项目生成 SharePoint 任务。任务完成后,我将状态和完成日期写回表格中。我遇到的问题是,最初在表单中设置任务时,我显然没有填充 CompletedDate 字段。我假设该字段会自动添加到表单 XML 中,并带有 xsi:nil=true 属性。相反,它根本不在 XML 中,并且我的工作流在查找节点“faCompletedDate”时会抛出对象引用未设置错误。检查表单的 XML,它不存在。

我认为我需要的解决方案是在表单后面的代码中为 faCompletedDate 写出一个 xsi:nil 属性,我不确定这是如何完成的。

我试过:

writer.WriteStartElement("faCompletedDate", myNs)
writer.WriteAttributeString("xsi", "nil", xsiNs, "true")
writer.WriteEndElement()

但这会引发架构验证发现非数据类型错误。

有人可以帮我解决这个问题并建议最好的使用方法。

4

1 回答 1

1

好的,我设法解决了这个问题。看来我在我的一个 XMlWriter 语句中错过了命名空间管理器参数。更新这个让我可以按预期写出完整的部分。

于 2011-07-12T14:48:02.213 回答