我有这个XML:<?xml version="1.0" encoding="UTF-8"?><doc> <id>19</id> <name>Name is here</name> <note>leader-it test user</note> <list name="products"> <elem> <id>2537</id> <name>Product #2537</name> <status>Deleted</status> <cost>1.00</cost> </elem> <elem> <id>2541</id> <name>Product #2541</name> <status>Active</status> <cost>1.00</cost> </elem> </list> <list name="balance"> <elem> <id>19</id> <project>Project 15</project> <balance>108046.1716</balance> </elem> </list> <label /> <country>182</country></doc>我正在尝试反序列化var account = XmlHelper.ParseXml<Account>(xml_string);public static class XmlHelper{ public class NamespaceIgnorantXmlTextReader : XmlTextReader { public NamespaceIgnorantXmlTextReader(TextReader reader) : base(reader) { } public override string NamespaceURI { get { return String.Empty; } } } public static T ParseXml<T>(string xml) { try { var serializer = new XmlSerializer(typeof(T)); using (var reader = new StringReader(xml)) { using (var xmlTextReader = new NamespaceIgnorantXmlTextReader(reader)) { return (T)(serializer.Deserialize(xmlTextReader)); } } } catch (Exception e) { return default(T); } }}使用这些类:[XmlRoot(ElementName = "doc")]public class Account{ [XmlElement("id")] public int Id { get; set; } [XmlElement("name")] public string Name { get; set; } [XmlElement("note")] public string Note { get; set; }我遇到了这个错误:当前作用域中已经存在来自名称空间“”的XML元素“列表”。使用XML属性为元素指定另一个XML名称或名称空间。如何使用XML属性指定另一个XML名称?
1 回答
- 1 回答
- 0 关注
- 141 浏览
添加回答
举报
0/150
提交
取消