我必须通过 webrequest 反序列化一些 xml。我的反序列化器不会反序列化消息的内容 - 但它不会发出错误。如果我在第 2 行取出命名空间引用,这一切都有效
下面的xml(编辑以隐藏秘密业务的东西)
<?xml version="1.0" encoding="UTF-8"?>
<ns2:thingees xmlns:ns2="http://someurl.com">
<thing thing-code="KE">
<thingelement description="primary" thing-address="address24000" sequence="1"/>
<thingelement description="backup" thing-address="address5000" sequence="2"/>
</thing>
<thing thing-code="PI">
<thingelement description="primary" thing-address="address26000" sequence="1"/>
<thingelement description="backup" thing-address="address27000" sequence="2"/>
</thing>
</ns2:thingees>
我的课程如下(重命名事物以隐藏秘密业务)
[Serializable]
[XmlRoot("thingees", Namespace = "http://someurl.com")]
public class thingeeInfo
{
[XmlElementAttribute("thing")]
public oneThing[] Items {get; set;}
}
public partial class oneThing
{
[System.Xml.Serialization.XmlElementAttribute("thing-element")]
public ThingElement[] thingelement {get; set;}
[System.Xml.Serialization.XmlAttributeAttribute("thing-code")]
public string thingcode {get; set;}
}
public partial class ThingElement
{
[System.Xml.Serialization.XmlAttributeAttribute()]
public string description {get; set; }
[System.Xml.Serialization.XmlAttributeAttribute("thing-address")]
public string thingaddress {get; set; }
[System.Xml.Serialization.XmlAttributeAttribute()]
public string sequence {get; set; }
}
如果我 - 取出 xml 根目录中的命名空间引用,这一切都会很好地反序列化。- 取出 XMlRoot 中的命名空间引用
它在没有错误的情况下反序列化,但不填充 Items - 也就是说,“Items”为空。没有“东西”被填充
我应该在 xml 中引用 ns2 吗?如果是这样,怎么做?