2

我正在开发 ac# 应用程序。我需要在这个表格中写下公司产品的详细信息。一家公司可能有不止一种产品,一个 xml 文件可能只包含 1 家公司。所以每个公司都有一个 xml 文件。

<?xml version="1.0" encoding="utf-8" ?>
<list>
  <CompanyName>Test</CompanyName>
  <CompanyID>TestID</CompanyID>
  <Product>
    <ProductName>Prod</ProductName>
    <ProductID>ProdID</ProductID>
    <Expire>10.10.2010</Expire>
  </Product>
  <Product>
    <ProductName>Prod2</ProductName>
    <ProductID>ProdID2</ProductID>
    <Expire>11.10.2010</Expire>
  </Product>
  <Product>
    <ProductName>Prod3</ProductName>
    <ProductID>ProdID3</ProductID>
    <Expire>12.10.2010</Expire>
  </Product>
</list>

如何使一个 xml 文件在 c# 中具有 3 个属性?

我会很感激你的帮助。

问候

4

1 回答 1

2

如果您询问如何在 C# 中编写 xml 文件,那么您已经编写了一个类,为类及其属性提供 xml 属性,然后序列化该类。

该类的实例及其所有数据将被序列化为 xml:

这是您的情况的示例。

[XmlType(TypeName = "CompanyXml")]
public class Company : ISerializable
{
    [XmlElement("Product")]
    public List<Product> ListProduct { get; set; }

    [XmlElement("CompanyName")]
    public string CompanyName { get; set; }

    [XmlElement("CompanyID")]
    public string CompanyID { get; set; }
}

产品类如下所示:

[XmlType(TypeName = "Product")]
public class Product : ISerializable
{
    [XmlElement("ProductName")]
    public string ProductName { get; set; }

    [XmlElement("ProductID")]
    public string ProductID { get; set; }

    [XmlElement("Expires")]
    public string Expires { get; set; }
}

序列化代码如下:

using (StringWriter stringWriter = new StringWriter())
{
  XmlSerializer serializer = new XmlSerializer(typeof(Company));
  serializer.Serialize(stringWriter, companyInstance);
  XmlDocument xDoc = new XmlDocument();
  xDoc.LoadXml(stringWriter.ToString());
 }
于 2013-07-26T11:41:17.143 回答