Prathap Gangireddy Ответов: 0

Преобразование нескольких столбцов из одной строки datagridview в XML-файл


Всем Привет,

Мое требование состоит в том, чтобы преобразовать несколько столбцов в строке Datagridview в XML-файл. Ниже приведен пример формата

<pre lang="xml">
&ЛТ;?в XML версия="1.0" кодирование="UTF-8" автономных="да" ?&ГТ; &ЛТ;пространства имен:сайт facturae префиксом xmlns:namespace2="http://uri.etsi.org/01903/v1.2.2#" атрибутов xmlns:namespace3="http://www.w3.org/2000/09/xmldsig#" пространство имен xmlns:="http://www.facturae.es/Facturae/2007/v3.0/Facturae"&ГТ;


&ЛТ;fileheader&ГТ; &ЛТ;invoiceissuertype&ГТ;их в <пакет&ГТ; &ЛТ;batchidentifier&ГТ;A2800056FBX-375-09 &ЛТ;invoicescount&ГТ;1 &ЛТ;totalinvoicesamount&ГТ; &ЛТ;totalamount&ГТ;7557.48 &ЛТ;totaloutstandingamount&ГТ; &ЛТ;totalamount&ГТ;7557.48 &ЛТ;totalexecutableamount&ГТ; &ЛТ;totalamount&ГТ;7557.48 &ЛТ;invoicecurrencycode&ГТ;евро

& lt;вечеринки>
&ЛТ;sellerparty&ГТ; &ЛТ;taxidentification&ГТ; &ЛТ;persontypecode&ГТ;Дж &ЛТ;residencetypecode&ГТ;Р &ЛТ;taxidentificationnumber&ГТ;A2800056F &ЛТ;legalentity&ГТ;
&ЛТ;corporatename&ГТ;открытого акционерного общества &ЛТ;addressinspain&ГТ;
Улица Алькала, 137
& lt;почтовый индекс> 28001 < город & gt;Мадрид < провинция & gt;Мадрид < код страны & gt;ESP

&ЛТ;buyerparty&ГТ; &ЛТ;taxidentification&ГТ; &ЛТ;persontypecode&ГТ;Дж &ЛТ;residencetypecode&ГТ;Р &ЛТ;taxidentificationnumber&ГТ;A4155543L &ЛТ;legalentity&ГТ; &ЛТ;corporatename&ГТ;Прима С. А. В <addressinspain&ГТ;
Улица Сан-Висенте, 1
& lt;почтовый индекс> 41008 < город & gt;Севилья < провинция & gt;Севилья < код страны & gt;ESP

& lt;вечеринки>






Все данные, отображаемые в XML выше, берутся из выбранных данных строки в Datagridview. Когда пользователь выбирает строку и нажимает кнопку, строка будет преобразована в формат XML.

Если вы заметили раздел Parties, то он снова имеет два подраздела BuyerParty и SellerParty . Потому что m совершенно новый для XML хотел бы знать, как мы создаем вышеупомянутый формат XML, а также с подразделами.

Пример кода, который я использовал для раздела заголовков


List<QuotationMaster> QuotationItemDetails = new List<QuotationMaster>();
            QuotationItemDetails.Add(new QuotationMaster
            {
                TotalQuoteAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                TotalOutstandingAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                TotalExecutableAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                Currency = GlobalData.GetCurrencyCode(Convert.ToInt32(gvQuotationDetails.Rows[QuoteIndex].Cells["CurrencyID"].EditedFormattedValue)),
                ItemDetails = string.Empty
            });
            var xmlPBDetails = new XElement("FileHeader",
                                from pbdetail in QuotationItemDetails
                                select new XElement("Batch",
                                               new XElement("InvoicesCount", 1),
                                               new XElement("TotalInvoicesAmount", pbdetail.TotalQuoteAmount),
                                               new XElement("TotalOutstandingAmount", pbdetail.TotalOutstandingAmount),
                                               new XElement("TotalExecutableAmount", pbdetail.TotalExecutableAmount),
                                               new XElement("InvoiceCurrencyCode", pbdetail.Currency)
                                           ));



Не могли бы вы предложить лучший способ получить желаемые результаты?


Спасибо,
Пратхап

Что я уже пробовал:

Ниже приведен пример закрытия, который я пробовал, и для всех подразделов я создал различные методы, чтобы получить данные внутри основного XML.

List<QuotationMaster> QuotationItemDetails = new List<QuotationMaster>();
            QuotationItemDetails.Add(new QuotationMaster
            {
                TotalQuoteAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                TotalOutstandingAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                TotalExecutableAmount = Convert.ToDecimal(gvQuotationDetails.Rows[QuoteIndex].Cells["TotalQuoteAmount"].EditedFormattedValue),
                Currency = GlobalData.GetCurrencyCode(Convert.ToInt32(gvQuotationDetails.Rows[QuoteIndex].Cells["CurrencyID"].EditedFormattedValue)),
                ItemDetails = string.Empty
            });
            var xmlPBDetails = new XElement("FileHeader",
                                from pbdetail in QuotationItemDetails
                                select new XElement("Batch",
                                               new XElement("InvoicesCount", 1),
                                               new XElement("TotalInvoicesAmount", pbdetail.TotalQuoteAmount),
                                               new XElement("TotalOutstandingAmount", pbdetail.TotalOutstandingAmount),
                                               new XElement("TotalExecutableAmount", pbdetail.TotalExecutableAmount),
                                               new XElement("InvoiceCurrencyCode", pbdetail.Currency)
                                           ));

0 Ответов