大家好,问候,
我需要帮助,按我的 XML 对象类进行分组。
这里是我来自 SQL Server 的数据,我的查询 (从 TaxXMLdb 选择 *)=
锡 | DocEntryAR | 买家文件编号 | 买家姓名 | 选择 | 商品代码 | 姓名 | DocEntryAR2 |
---|---|---|---|---|---|---|---|
AAA | 100100 | 5533 | 安托 | 0 | 2001 | 书 | 100100 |
AAA | 100100 | 5533 | 安托 | 0 | 2002 | 书桌 | 100100 |
AAA | 100100 | 5533 | 安托 | 0 | 2003 | 钥匙 | 100100 |
AAA | 200100 | 7722 | 丹尼 | 0 | 5001 | 灯 | 200100 |
AAA | 200100 | 7722 | 丹尼 | 0 | 5002 | 汽车 | 200100 |
AAA | 300100 | 2211 | 妮娜 | 0 | 3001 | 风扇 | 300100 |
我希望 XML 输出看起来像这样,
按 DocEntryAR 标头分组,针对每个详细信息(选项、ItemCode、名称、DocEntryAR2)
((DocEntryAR,BuyerDocNum,BuyerName)作为标题)
((Opt, ItemCode, Name, DocEntryAR2) as Detail) ,如下所示 =
<TaxInvoiceBulk>
<TIN>AAA</TIN>
<ListOfTaxInvoice>
<TaxInvoice>
<DocEntryAR>100100</DocEntryAR>
<BuyerDocNum>5533</BuyerDocNum>
<BuyerName>Anto</BuyerName>
<ListOfGoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>2001</ItemCode>
<Name>Book</Name>
<DocEntryAR2>100100</DocEntryAR2>
</GoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>2002</ItemCode>
<Name>Desk</Name>
<DocEntryAR2>100100</DocEntryAR2>
</GoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>2003</ItemCode>
<Name>Key</Name>
<DocEntryAR2>100100</DocEntryAR2>
</GoodService>
</ListOfGoodService>
</TaxInvoice>
<TaxInvoice>
<DocEntryAR>200100</DocEntryAR>
<BuyerDocNum>7722</BuyerDocNum>
<BuyerName>Dani</BuyerName>
<ListOfGoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>5001</ItemCode>
<Name>Lamp</Name>
<DocEntryAR2>200100</DocEntryAR2>
</GoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>5002</ItemCode>
<Name>Car</Name>
<DocEntryAR2>200100</DocEntryAR2>
</GoodService>
</ListOfGoodService>
</TaxInvoice>
<TaxInvoice>
<DocEntryAR>300100</DocEntryAR>
<BuyerDocNum>2211</BuyerDocNum>
<BuyerName>Nina</BuyerName>
<ListOfGoodService>
<GoodService>
<Opt>0</Opt>
<ItemCode>3001</ItemCode>
<Name>Fan</Name>
<DocEntryAR2>300100</DocEntryAR2>
</GoodService>
</ListOfGoodService>
</TaxInvoice>
</ListOfTaxInvoice>
</TaxInvoiceBulk>
这里是我的 xml 类列表 =
[Serializable]
[XmlType(TypeName = "TaxInvoiceBulk")]
public class TaxInvoiceBulk
{
public string TIN { get; set; }
public List<TaxInvoice> TaxInvoice1 { get; set; }
public TaxInvoiceBulk()
{
TaxInvoice1 = new List<TaxInvoice>();
}
[Serializable]
public class TaxInvoice
{
public string DocEntryAR { get; set; }
public string BuyerDocNum { get; set; }
public string BuyerName { get; set; }
public List<GoodService> GoodService1 { get; set; }
public TaxInvoice()
{
GoodService1 = new List<GoodService>();
}
}
[Serializable]
public class GoodService
{
public string Opt { get; set; }
public string ItemCode { get; set; }
public string Name { get; set; }
public string DocEntryAR2 { get; set; }
}
}//end public class TaxInvoiceBulk
我使用 xml 类列表和代码可以从 C# 生成 XML
使用System.Xml.Serialization; 但我的输出 XML 仍然是错误的结果,看起来不像我想要的。
任何人都可以通过我们的 LinQ 或其他解决方案帮助修复/创建新的列表类和组 对于这样的输出 XML。
谢谢问候。
public record TaxInvoiceBulk
{
public required string TIN;
public List<TaxInvoice> ListOfTaxInvoice = [];
public record TaxInvoice
{
public required string DocEntryAR;
public required string BuyerDocNum;
public required string BuyerName;
public List<GoodService> ListOfGoodService = [];
}
public record GoodService
{
public required string Opt;
public required string ItemCode;
public required string Name;
public required string DocEntryAR2;
}
}