我使用http://www.thescarms.com/dotnet/XSLT.aspx使用XSLT模板将逗号分隔数据(CSV)转换为XML。
它使用了foll。 2行.NET代码:
XSLT.Load(mstrInputXSLTFile, resolver);
XSLT.Transform(mstrInputCSVFile, mstrOutputXMLFile, resolver);
我正在寻找一种方法,我可以使用字符串内容(XSLT,CSV文件的内容)代替上述两种方法中的文件。任何帮助都是有用的。
我计划在WCF webservice中实现这个逻辑,它将接收csv字符串。如果没有解决方法,那么我将不得不根据收到的csv和xsl的值创建临时文件。处理服务器上csv到xml的转换,并将xml输出返回给客户端。然后删除上面创建的文件。
答案 0 :(得分:1)
如果您想从字符串加载输入,请在字符串上XmlReader
上创建StringReader
,例如
XslCompiledTransform proc = new XslCompiledTransform();
using (StringReader sr = new StringReader(stringVar))
{
using (XmlReader xr = XmlReader.Create(sr))
{
proc.Load(xr);
}
}
答案 1 :(得分:0)
XslTransform中没有合适的方法可以满足您的需求。
但是,您可以编写自己的extensions methods(我称之为Parse..
),它将内容作为字符串,在临时目录中创建文件,并通过合适的方法加载/转换它们。