C#, как отличить и GroupBy от вложенного списка внутри XML-объекта вложенного спискаC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C#, как отличить и GroupBy от вложенного списка внутри XML-объекта вложенного списка

Сообщение Anonymous »

Привет, всем, кому мне нужна помощь,
у меня есть проект по созданию XML-файла из SQL-запроса.
Может ли кто-нибудь помочь мне решить мою проблему
чтобы отличить и GroupBy от вложенного списка внутри XML-объекта вложенного списка
что я пробовал
сначала здесь мои данные SQL, изображение =
введите описание изображения
тогда моя модель списка классов XML =
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;

namespace PajakXml.Model
{

[XmlRoot(ElementName = "TaxInvoiceBulk")]
public class TaxInvoiceBulk
{

[XmlElement(ElementName = "TIN")]
public string TIN { get; set; }

[XmlElement(ElementName = "ListOfTaxInvoice")]
public ListOfTaxInvoice ListOfTaxInvoice1 { get; set; }

public TaxInvoiceBulk()
{
ListOfTaxInvoice1 = new ListOfTaxInvoice();
}

}

[XmlRoot(ElementName = "ListOfTaxInvoice")]
public class ListOfTaxInvoice
{
[XmlElement(ElementName = "TaxInvoice")]
public List TaxInvoice1 { get; set; }

public ListOfTaxInvoice()
{
TaxInvoice1 = new List();
}

}

[XmlRoot(ElementName = "TaxInvoice")]
public class TaxInvoice
{

[XmlElement(ElementName = "DocEntryAR")]
public string DocEntryAR { get; set; }

[XmlElement(ElementName = "BuyerDocumentNumber")]
public string BuyerDocumentNumber { get; set; }

[XmlElement(ElementName = "BuyerName")]
public string BuyerName { get; set; }

[XmlElement(ElementName = "ListOfGoodService")]
public ListOfGoodService ListOfGoodService1 { get; set; }

public TaxInvoice()
{
ListOfGoodService1 = new ListOfGoodService();
}

}

[XmlRoot(ElementName = "ListOfGoodService")]
public class ListOfGoodService
{

[XmlElement(ElementName = "GoodService")]
public List GoodService1 { get; set; }

public ListOfGoodService()
{
GoodService1 = new List();
}
}

[XmlRoot(ElementName = "GoodService")]
public class GoodService
{

[XmlElement(ElementName = "Opt")]
public string Opt { get; set; }

[XmlElement(ElementName = "ItemCode")]
public string ItemCode { get; set; }

[XmlElement(ElementName = "Name")]
public string Name { get; set; }

}

}


затем мой код в WinForm
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

using PajakXml.Model;
using System.Data.SqlClient;

using System.Linq;
using System.Xml.Serialization;

namespace PajakXml
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void btnXML_Click(object sender, EventArgs e)
{
isiXML1();
}

public void isiXML1()
{

SqlConnection myConnection = KonekSQL.create_concection();
SqlDataReader myReader = null;
SqlCommand myCommand = null;

string sql = $@"select * from TaxXMLdb";
myCommand = new SqlCommand(sql, myConnection);
myReader = myCommand.ExecuteReader();

var ModelTax1 = new TaxInvoiceBulk();

while (myReader.Read())
{

ModelTax1.TIN = myReader["TIN"].ToString();

ModelTax1.ListOfTaxInvoice1.TaxInvoice1.Add(new TaxInvoice
{
DocEntryAR = myReader["DocEntryAR"].ToString(),
BuyerDocumentNumber = myReader["BuyerDocumentNumber"].ToString(),
BuyerName = myReader["BuyerName"].ToString()

});

ModelTax1.ListOfTaxInvoice1.TaxInvoice1.First().ListOfGoodService1.GoodService1.Add(new GoodService
{
Opt = myReader["Opt"].ToString(),
ItemCode = myReader["ItemCode"].ToString(),
Name = myReader["Name"].ToString()
});

}

XmlSerializer serialXML = new XmlSerializer(typeof(TaxInvoiceBulk));

SaveFileDialog saveFileDialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "File XML|*.xml";
saveFileDialog1.Title = "Save XML File";
saveFileDialog1.FileName = "XML_TAX";
saveFileDialog1.ShowDialog();

if (saveFileDialog1.FileName != "")
{
System.IO.FileStream fileStream1 = (System.IO.FileStream)saveFileDialog1.OpenFile();

serialXML.Serialize(fileStream1, ModelTax1);

fileStream1.Close();
}

}

}
}


мой результат XML по-прежнему неверен


AAAAA
[*]

100100
5533
Anto


0
2001
Book


0
2002
Desk


0
2003
Keyboard


0
5001
Pencil


0
5002
Car


0
3001
Fan




100100
5533
Anto



100100
5533
Anto



200100
7722
Dani



200100
7722
Dani



300100
2211
Nina





что мне нужно сделать отдельным (DocEntryAR) в (Coding) и
GroupBy(ItemCode) для каждого (DocEntryAR).
  • или XML списка моделей моего класса все еще неправильный?
  • или дважды выполните запрос с использованием (выберите Distinct FROM TaxXMLdb) ?, я попробовал но все равно получаю неверный результат.
Мне нужен XML, который выглядит так, я исправлю его вручную, используя этот XML:< /p>


AAAAA


100100
5533
Anto


0
2001
Book


0
2002
Desk


0
2003
Keyboard




200100
7722
Dani


0
5001
Pencil


0
5002
Car




300100
2211
Nina


0
3001
Fan







Подробнее здесь: https://stackoverflow.com/questions/792 ... t-xml-obje
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»