Проблема C# GroupBy List внутри списка для XMLC#

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

Сообщение Anonymous »

Всем привет, с уважением!
Мне нужна помощь для группировки по моему классу объектов XML.
здесь мои данные с SQL-сервера, мой Запрос
( выберите * из TaxXMLdb ) =


ИНН
DocEntryAR
BuyerDocNum
Имя покупателя
Опт
ItemCode
Имя
DocEntryAR2




ААА
100100
5533
Анто
0
2001
Книга
100100


ААА
100100
5533
Анто
0
2002
Письменный стол
100100


ААА
100100
5533
Анто
0
2003
Ключ
100100


ААА
200100
7722
Дани
0
5001
Лампа
200100


ААА
200100
7722
Дани
0
5002
Автомобиль
200100


ААА
300100
2211
Нина
0
3001
Вентилятор
300100



Я хочу, чтобы вывод XML выглядел так:
Группировать по заголовку DocEntryAR, для каждая деталь (Opt, ItemCode, Name, DocEntryAR2)
((DocEntryAR, BuyerDocNum, BuyerName) в качестве заголовка)
((Opt, ItemCode, Имя, DocEntryAR2) как Подробности), вывод XML должен выглядеть следующим образом =

AAA
[*]

100100
5533
Anto


0
2001
Book
100100


0
2002
Desk
100100


0
2003
Key
100100




200100
7722
Dani


0
5001
Lamp
200100


0
5002
Car
200100




300100
2211
Nina


0
3001
Fan
300100






я использую этот список классов xml, и код может генерировать XML из C#
с использованием System.Xml.Serialization;
но мой выходной XML по-прежнему неправильный результат, выглядит не так, как я хочу.
Любой может помочь в восстановлении/создании нового класса и группы списка с помощью LinQ или другого решения
для такого вывода XML .
мой класс =
[Serializable]
[XmlType(TypeName = "TaxInvoiceBulk")]
public class TaxInvoiceBulk
{
public string TIN { get; set; }
[XmlArray("ListOfTaxInvoice")] // g.First()).ToList();
foreach (var grup2 in grup11)
{
grup2.GoodServices.Add(new GoodService
{
Opt = myReader["Opt"].ToString(),
ItemCode = myReader["ItemCode"].ToString(),
Name = myReader["Name"].ToString(),
DocEntryAR2 = myReader["DocEntryAR2"].ToString()
});
}
}//END While
myConnection.Close();

затем
4. я показываю результат XML, используя окно сообщения
private void btnXML_Click(object sender, EventArgs e)
{
var serialXML1 = new XmlSerializer(typeof(TaxInvoiceBulk));
using (StringWriter textWriter1 = new StringWriter())
{
serialXML1.Serialize(textWriter1, Tax123);
MessageBox.Show($@"{textWriter1.ToString()}");
}
}


[*]Мой результат XML по-прежнему неверен, я не знаю, как сгруппировать GoodService с помощью TaxInvoice.DocEntryAR.
[/list]

[*]

0
100100
5533
Anto


0
3001
Fan
300100




0
200100
7722
Dani


0
3001
Fan
300100




0
300100
2211
Nina


0
3001
Fan
300100





  • где лучше всего Loop & Distinct и GroupBy используют Linq ??, это мой GroupBy все еще неправильный,
var grup1 = Tax123.TaxInvoices.GroupBy(g => new { g.DocEntryAR }).Select(g => g.First()).ToList();

foreach (var grup2 in grup1)
{
grup2.GoodServices.Add(new GoodService
{
Opt = myReader["Opt"].ToString(),
ItemCode = myReader["ItemCode"].ToString(),
Name = myReader["Name"].ToString(),
DocEntryAR2 = myReader["DocEntryAR2"].ToString()
});
}


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

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

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

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

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

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

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