Tôi đang cố gắng viết một XSLT sẽ chuyển đổi một tài liệu XML mà tôi có thành một tệp CSV. Dưới đây là một mẫu của XML:Làm cách nào để viết XSLT để chuyển đổi XML thành CSV?
<?xml version="1.0" encoding="utf-8"?>
<Import>
<Users>
<User ID="user_1" EmailAddress="[email protected]">
<Contact FirstName="John" LastName="Doe" />
<Address Street1="808 Elm St" City="Anywhere" State="NY" />
</User>
<User ID="user_2" EmailAddress="[email protected]">
<Contact FirstName="Jane" LastName="Noone" />
<Address Street1="123 Some Rd" City="Anywhere" State="NY" />
</User>
</Users>
</Import>
Những gì tôi muốn là một XSLT sẽ ra như vậy:
John,Doe,808 Elm St,Anywhere,NY
Jane,Noone,123 Some Rd,Anywhere,NY
Tôi nghĩ rằng tôi có mã # C đúng để bắt đầu chuyển đổi, nhưng chỉ trong trường hợp tôi không, đây là mã mà cũng:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Xsl;
using System.Configuration;
namespace UserTransform
{
class Program
{
static void Main(string[] args)
{
string oldXML = ConfigurationSettings.AppSettings["XMLToBeTransformed"];
string xsltLocation = ConfigurationSettings.AppSettings["XSLTfile"];
string newCSV = ConfigurationSettings.AppSettings["NewCSVLocation"];
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load(xsltLocation);
transform.Transform(oldXML, newCSV);
}
}
}
Cảm ơn. Ít nhất cuối cùng nó cũng lấy được các giá trị mà tôi muốn từ tệp XML mẫu của mình (mặc dù định dạng này vẫn còn điên). Vì lý do nào đó, tôi nhận được ngắt dòng và các khoảng trống thừa trong đó bằng cách sử dụng XSLT sau: , , xsl: template> –