Bir XML'i bir listeden belirli bir hiyerarşiye biçimlendirmem gerekiyor (Liste <>). Liste, bankacılık bilgileri için, görüntüde gösterildiği gibi birden fazla sıraya yayılan verileri içerir.Birden çok satırdaki gerekli verilerle listeden iç içe XML
XML çıktısı aşağıdaki gibi biçimlendirilmiş olması gerekir:
<ROOT>
<DocumentElement>
<Supplier>
<Company>STV</Company>
<Code>000199</Code>
<Name>TrafTrans</Name>
<BankAccounts>
<SupplierBankAccount>
<Bban>220-012510-63</Bban>
<Name>B1</Name>
</SupplierBankAccount>
<SupplierBankAccount>
<Bban>RUIL</Bban>
<Name>RUIL</Name>
</SupplierBankAccount>
</BankAccounts>
<SupplierAddresses>
<SupplierAddress>
<Type>PostalAddress</Type>
<Name>Loc TrafTrans</Name>
<IsDefault>true</IsDefault>
<AddressParts>
<SupplierAddressPart>
<AddressPartKey>STREET_NAME</AddressPartKey>
<AddressPartText>Somewhere</AddressPartText>
</SupplierAddressPart>
<SupplierAddressPart>
<AddressPartKey>COUNTRY</AddressPartKey>
<AddressPartText>SPAIN</AddressPartText>
</SupplierAddressPart>
</AddressParts>
</SupplierAddress>
</SupplierAddresses>
</Supplier>
</DocumentElement>
</ROOT>
Zaten bir XML listesini dönüştürür ve bir dize döndürür bir yöntemi var. Fakat sorun şu ki, bu liste listeden sadece bir öğe biçimlendiriyor ve aşağıdaki öğelerde ek bilgi olabilir. Ben cevabı kendim buldum
public static string SuppliersToXML(List<SupplierItem> supplier)
{
CultureInfo ci = new CultureInfo("en-US");
XmlDocument doc = new XmlDocument();
var root = doc.CreateElement("ROOT");
var rootNode = doc.AppendChild(root);
var docElem = doc.CreateElement("DocumentElement");
var docElemNode = rootNode.AppendChild(docElem);
foreach (var item in supplier)
{
var supplierElem = doc.CreateElement("Supplier");
var companyElem = (XmlNode)doc.CreateElement("Company");
companyElem.InnerText = item.Company.ToString();
//more code...
supplierElem.AppendChild(companyElem);
//more code...
}
return doc.OuterXml;
}
bir web sitesi/portal
{
} var mı? XSLT dönüşümleri nasıl kullanılır? –
Bina XML'i XmlDocument ile hoş bir deneyim değildir. Kesinlikle ['XElement'] 'i (https://msdn.microsoft.com/library/bb387089) kontrol edin. –
@Vivek Jain bir web api'nin bir parçasıdır. XSLT – hatsjie