为了账号安全,请及时绑定邮箱和手机立即绑定

使用 XmlTextWriter 设置多个命名空间

使用 XmlTextWriter 设置多个命名空间

C#
蓝山帝景 2021-08-22 15:17:45
我正在尝试创建一个 infopath 表单 XML 文件。我最初以编程方式关注此示例-create-infopath-form-console-app但我遇到了多个命名空间的问题。这是我的 infopath 表单 XML 文件中的一些命名空间xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:pc="http://schemas.microsoft.com/office/infopath/2007/PartnerControls" xmlns:dms="http://schemas.microsoft.com/office/2009/documentManagement/types"在大多数情况下,当我按照示例进行操作时,一切都很顺利,直到我阅读了 XML 文件的人员选择器部分。我想要的是:<my:Updated_By>    <pc:Person>        <pc:DisplayName></pc:DisplayName>        <pc:AccountId></pc:AccountId>        <pc:AccountType></pc:AccountType>    </pc:Person></my:Updated_By>我做了什么(1):        string myNamespace = "http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-09-02T01:11:44";        ...        writer.WriteStartElement("my", "myFields", myNamespace);        writer.WriteAttributeString("xmlns", "xsi", null, "http://www.w3.org/2001/XMLSchema-instance");        writer.WriteAttributeString("xmlns", "pc", null, "http://schemas.microsoft.com/office/infopath/2007/PartnerControls");        ...        writer.WriteStartElement("my", "Updated_By", myNamespace);        writer.WriteStartElement("pc", "Person");        writer.WriteEndElement();        writer.WriteStartElement("pc", "DisplayName");        writer.WriteEndElement();        writer.WriteStartElement("pc", "AccountId");        writer.WriteEndElement();        writer.WriteStartElement("pc", "AccountType");        writer.WriteEndElement();        writer.WriteEndElement();        ...我得到了什么(1):<my:Updated_By>    <pc xmlns="Person" />    <pc xmlns="DisplayName" />    <pc xmlns="AccountId" />    <pc xmlns="AccountType" /></my:Updated_By>我不确定“xmlns=”是否对 XML 文件有任何影响,但我希望它看起来尽可能接近 infopath 生成的 XML 文件解决这个问题的正确方法是什么?
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 177 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信