XmlDocument InnerXml添加了冗余的命名空间属性

时间:2018-01-20 02:45:22

标签: c# xml-namespaces xmldocument

使用C#XmlDocument对象编辑包含名称空间声明的xml文档:

<tdl xmlns="http://www.nema.org/1997/C1219TDLSchema" 
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:tbd="http://www.example.com/tables/tbd/"
   xmlns:xxx="http://www.example.com/tables/xxx/"
   xsi:schemaLocation="http://www.nema.org/1997/C1219TDLSchema C1219TDL.xsd" 
   version="1.0" ></tdl>

然后我将节点添加到文档(设置InnerXml),其中包含引用这些命名空间的标记和属性。

我有两个问题:

  1. 如果创建的标记位于默认命名空间中,则使用空命名空间属性

    编写
    <packedRecord name="ITEM_RCD" xmlns="">
    
  2. 如果它使用已定义的命名空间,则它包含命名空间属性:

    <tbd:text xmlns:tbd="http://www.example.com/tables/tbd/">Ph</tbd:text>
    
  3. 由于这些名称空间是在文档中定义的,我的理解(基于MSDN - XmlDocument.InnerXml)是InnerXml将它们剥离出来。

    如何让它们被剥离?

0 个答案:

没有答案