Преобразование нескольких столбцов из одной строки 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) ));