【问题标题】:Replace xsi:nil="true" with empty tags in Xml Serialization C#用 Xml 序列化 C# 中的空标签替换 xsi:nil="true"
【发布时间】:2015-03-10 02:45:55
【问题描述】:

我正在尝试将 mvc 对象序列化为 xml 字符串

我正在使用这个函数解析对象

public string ToXML(object oObject)
    {
        XmlDocument xmlDoc = new XmlDocument();
        XmlSerializer xmlSerializer = new XmlSerializer(oObject.GetType());
        using (MemoryStream xmlStream = new MemoryStream())
        {
            xmlSerializer.Serialize(xmlStream, oObject);
            xmlStream.Position = 0;
            xmlDoc.Load(xmlStream);
            return xmlDoc.InnerXml;
        }
    }

不幸的是,对于可空值,我希望我的 xml 架构是这样的,例如

而不是<fProjectGID xsi:nil="true" />

像

<fProjectGID><fProjectGID/>

如何为每个可为空的值添加第二个标签并从生成的 xml 中删除这个愚蠢的 xsi:nill="true" 属性?

【问题讨论】:

    标签: xml asp.net-mvc parsing object serialization


    【解决方案1】:
    XmlDocument doc = new XmlDocument();
    doc.Load(file);                           
    XmlNode node = doc["Root"]["fProjectGID"]; \\ Go to your desired Node
    node.RemoveAll(); \\It Will remove the  xsi:nil="true"
    node.InnerText = " Put Here your desired text";  \\ Any Inner Text You want.
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-18
      • 2011-01-16
      • 2015-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多