小编dar*_*NNN的帖子

为什么XML序列化程序在使用命名空间的对象反序列化时返回null?

我有这个案子:

    [System.CodeDom.Compiler.GeneratedCodeAttribute("xsd", "4.0.30319.33440")]
    [System.SerializableAttribute()]
    [System.Diagnostics.DebuggerStepThroughAttribute()]
    [System.ComponentModel.DesignerCategoryAttribute("code")]
    [System.Xml.Serialization.XmlTypeAttribute(AnonymousType = true)]
    [System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable = false)]
    public class Response
    {
        public string RetKey { get; set; }
        public string RetType { get; set; }
    }

    [Test]
    public void Test3()
    {
        {
            var s = @"<Response  CommandID=""57b48ae28f484ab4b3cc2e841cddd02a"">
    <RetKey>5</RetKey>
    <RetType>152</RetType>
    </Response>";

            var xmlSerializer = new XmlSerializer(typeof(Response));
            var deserialize = (Response)xmlSerializer.Deserialize(new StringReader(s));

            Assert.AreEqual("5", deserialize.RetKey, "no namespace");
        }

        {
            var s = @"<Response xmlns=""http://www.sap.com/SBO/DIS"" CommandID=""57b48ae28f484ab4b3cc2e841cddd02a"">
    <RetKey>5</RetKey>
    <RetType>152</RetType>
    </Response>";

            var xRoot = new XmlRootAttribute
            {
                ElementName …
Run Code Online (Sandbox Code Playgroud)

c# xml xml-namespaces

1
推荐指数
1
解决办法
116
查看次数

标签 统计

c# ×1

xml ×1

xml-namespaces ×1