xml序列化广告数据库插入

时间:2015-12-10 07:55:00

标签: xml xml-serialization

我有一个XML文件,我从中读取数据,然后将该数据插入到sql数据库中。但是,当我读取我的xml时,我收到以下错误:

  

<query xmlns=''>没有预料到   XML文档中存在错误(2,2)。

这是我的代码:

XmlRootAttribute xRoot = new XmlRootAttribute();
xRoot.ElementName = "items";
//xRoot.ElementName = "query";
// xRoot.Namespace = "http://www.cpandl.com";
xRoot.IsNullable = true;
XmlSerializer deserializer = new XmlSerializer(typeof(Items), xRoot);
TextReader reader = new StreamReader(@"c:\work\direct.xml");
object obj = deserializer.Deserialize(reader);
Items XmlData = (Items)obj;
reader.Close();

这是我的xml:

<?xml version="1.0" encoding="utf-8"?>
<query>
  <query_result>
    <items>
       <item>
        <date>2015-07-14 20:14:47</date>
        <description>Signup Bonus</description>
        <dots>-0.00000</dots>
        <ZAR>-0.00000</ZAR>
        <USD>0.00000</USD>
        <EUR>0.00000</EUR>
      </item>
    </items>
  </query_result>
</query>

1 个答案:

答案 0 :(得分:0)

感谢您的回复,请参阅下文。

public class ItemDetails
    {

        public string  Date { get; set; }
        public string Description { get; set; }
        public string Dots { get; set; }
        private string ZAR { get; set; }
        private string USD { get; set; }
        private string EUR { get; set; }

    }
    public class Item
    {
        [XmlElement("date")]
        public string Date { get; set; }
        [XmlElement("description")]
        public string Description { get; set; }
        [XmlElement("dots")]
        public string Dots { get; set; }
        [XmlElement("ZAR")]
        public string ZAR  { get; set; }
        [XmlElement("USD")]
        public string USD  { get; set; }
        [XmlElement("EUR")]
        public string EUR  { get; set; }

    }

    public class Items
    {
        [XmlElement("item")]
        public List<Item> ItemCollection { get; set; }

    }

    public class Query_Results
    {
        [XmlElement("query_result")]
        public List<Query_Results> QRResults { get; set; }

    }

    public class Query
    {
        [XmlElement("query")]
        public List<Query> QueryCollection { get; set; }