我有这个xml
<products>
<product>
<name>Demo</name>
</product>
<product>
<name>Black Beauty III</name>
<description>Beautiful les paul guitar</description>
<company>
<name>Les Paul</name>
<description>Very Good Company for guitar</description>
<year>1967</year>
<address>
<houseno>Flat no-52</houseno>
<street>Avishkar Appt. JVLR, Jogeshwari(E)</street>
<city>Mumbai</city>
<country>India</country>
<pin>400060</pin>
</address>
</company>
<grossprice>5700</grossprice>
<netprice>6000</netprice>
<measure>1 pc</measure>
<category>4</category>
</product>
<product>
<name></name>
<description></description>
<company>
<name></name>
<description></description>
<year></year>
<address>
<houseno></houseno>
<street></street>
<city></city>
<country></country>
<pin></pin>
</address>
</company>
<grossprice></grossprice>
<netprice></netprice>
<measure></measure>
<category></category>
</product>
</products>
通过使用此代码,我无法将其反序列化为对象
using (FileStream fs = new FileStream(System.IO.Path.Combine(System.Environment.CurrentDirectory + "/Products.xml"), FileMode.Open))
{
XmlSerializer serializer = new XmlSerializer(typeof(Products));
var products = serializer.Deserialize(fs) as Products;
}
我已经提到了类中的所有 XML 元素和 XMLroot,例如
[XmlType("products")]
[XmlInclude(typeof(Products))]
public class Products
{
public Products() { }
public Products(Boolean GetProducts)
{
if (GetProducts)
Items = GetAllProducts().Items;
}
[XmlElement("product")]
public List<Product> Items { get; set; }
public Products GetAllProducts()
{
try
{
Products allProducts = new Products();
using (FileStream fs = new FileStream(System.IO.Path.Combine(System.Environment.CurrentDirectory + "/Products.xml"), FileMode.Open))
{
XmlSerializer serializer = new XmlSerializer(typeof(Products));
var products = serializer.Deserialize(fs) as Products;
}
return allProducts;
}
catch (Exception ex) { return null; }
}
public Products GetAllProducts(ProductCategory Category)
{
return null;
}
}
[XmlType("product")]
[XmlInclude(typeof(Product))]
public class Product
{
[XmlElement("name")]
String Name { get; set; }
[XmlElement("description")]
String Description { get; set; }
[XmlElement("company")]
Company Brand { get; set; }
[XmlElement("grossprice")]
String GrossPrice { get; set; }
[XmlElement("netprice")]
String NetPrice { get; set; }
[XmlElement("measure")]
String Measure { get; set; }
[XmlElement("categoy")]
ProductCategory Category { get; set; }
}
如果你想我可以发布更多的类结构...`在此处输入代码