C# 用多行代码写入xml

C# 用多行代码写入xml,c#,xml,linq-to-xml,C#,Xml,Linq To Xml,我正在开发一个c#应用程序。 我需要在这张表格中填写公司产品的详细信息。一个公司可能有多个产品,一个xml文件可能只包含一个公司。因此,每个公司都有一个xml文件 <?xml version="1.0" encoding="utf-8" ?> <list> <CompanyName>Test</CompanyName> <CompanyID>TestID</CompanyID> <Product>

我正在开发一个c#应用程序。 我需要在这张表格中填写公司产品的详细信息。一个公司可能有多个产品,一个xml文件可能只包含一个公司。因此,每个公司都有一个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>

试验
睾丸
戳
普罗迪德
10.10.2010
产品2
ProdID2
11.10.2010
Prod3
ProdID3
12.10.2010
如何使一个xml文件在c#中具有3个属性

我将感谢你的帮助


关于

如果您询问如何用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; }
}
序列化代码可以如下所示:

using (StringWriter stringWriter = new StringWriter())
{
  XmlSerializer serializer = new XmlSerializer(typeof(Company));
  serializer.Serialize(stringWriter, companyInstance);
  XmlDocument xDoc = new XmlDocument();
  xDoc.LoadXml(stringWriter.ToString());
 }

你的问题是?看看这里:@Garath现在编辑了这篇文章:)谢谢你,这正是我想要的。
using (StringWriter stringWriter = new StringWriter())
{
  XmlSerializer serializer = new XmlSerializer(typeof(Company));
  serializer.Serialize(stringWriter, companyInstance);
  XmlDocument xDoc = new XmlDocument();
  xDoc.LoadXml(stringWriter.ToString());
 }