代码之家  ›  专栏  ›  技术社区  ›  NetSide

在.NET中序列化对象时是否忽略所有xsi和xsd命名空间?

  •  106
  • NetSide  · 技术社区  · 16 年前

    代码如下所示:

    StringBuilder builder = new StringBuilder();
    XmlWriterSettings settings = new XmlWriterSettings();
    settings.OmitXmlDeclaration = true;
    using (XmlWriter xmlWriter = XmlWriter.Create(builder, settings))
    {
        XmlSerializer s = new XmlSerializer(objectToSerialize.GetType());
        s.Serialize(xmlWriter, objectToSerialize);
    }
    

    生成的序列化文档包括名称空间,如下所示:

    <message xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" 
        xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" 
        xmlns="urn:something">
     ...
    </message>
    

    要删除xsi和xsd名称空间,我可以按照 How to serialize an object to XML without getting xmlns=”…”? .

    我希望我的邮件标签为 <message> (没有任何名称空间属性)。我该怎么做?

    5 回复  |  直到 7 年前