我有一個InfoPath 2010表單存在問題,它有一些代碼隱藏。我的表單的目的是收集用戶的數據,並使用提供的答案自動填充許多所需的任務。這些任務將填充到表單上的重複部分中。我後面的代碼包含自動填充重複部分中每個條目的邏輯。我使用XMLWriter類和WriteStringElement方法來填充重複部分中的每個字段。XmlWriter - 寫入xsi:nil = true屬性
最初,所有這些邏輯看起來都按預期工作,這些部分按預期填充。不過,我現在意識到,寫入XML格式的字段存在問題。
使用工作流程我爲重複部分中的每個項目生成SharePoint任務。完成任務後,我將狀態和完成日期寫回表單。我遇到的問題是,我明顯在初始設置表單中的任務時不填充CompletedDate字段。我假定該字段將自動添加到表單XML中,並帶有xsi:nil = true屬性。相反,它根本不在XML中,而且在查找節點「faCompletedDate」時,我的工作流程拋出Object Reference時沒有設置錯誤。檢查表單的XML,它不在那裏。
我認爲我需要的解決方案是在窗體後面的代碼中寫出一個xsi:nil屬性給faCompletedDate,我不知道這是如何完成的。
我曾嘗試:
writer.WriteStartElement("faCompletedDate", myNs)
writer.WriteAttributeString("xsi", "nil", xsiNs, "true")
writer.WriteEndElement()
但這拋出一個架構驗證發現非數據類型的錯誤。
有人可以幫我解決這個問題,並建議使用最好的方法。
好吧,我設法解決這個問題。看起來我錯過了我的一個XMlWriter語句中的名稱空間管理器參數。更新這使我可以按預期寫出完整的章節。 – Grant80