C# 通过XSLT将多个动态xml文件转换为C中的一个xml/resx文件#
我想通过xslt将一个或多个动态resx/xml文件转换为一个resx/xml文件。C# 通过XSLT将多个动态xml文件转换为C中的一个xml/resx文件#,c#,transform,xslt,resx,C#,Transform,Xslt,Resx,我想通过xslt将一个或多个动态resx/xml文件转换为一个resx/xml文件。 代码应在VisualStudio 2010中运行 我的想法是这样的: XsltSettings set = new XsltSettings(true, false); set.EnableDocumentFunction = true; XElement root = new XElement("root", XElement.Load("file1.xml"),
代码应在VisualStudio 2010中运行 我的想法是这样的:
XsltSettings set = new XsltSettings(true, false);
set.EnableDocumentFunction = true;
XElement root = new XElement("root",
XElement.Load("file1.xml"),
XElement.Load("file2.xml"));
XslCompiledTransform transform = new XslCompiledTransform();
transform.Load("xsl.xsl",set,new XmlUrlResolver());
XsltArgumentList xslArg = new XsltArgumentList();
transform.Transform(root.CreateReader(), /*xslArg,*/ XmlWriter.Create("output.xml"));
我非常感激地寻找答案您的答案与您在不编写XSLT处理器扩展的情况下得到的答案一样好。您也可以考虑使用LINQ to XML来重新编写文档。 1)您是在寻找帮助编写XSLT的帮助,还是帮助将两个输入文件合并为一个?2) 你的想法的结果是什么?它起作用了吗?有错误吗?错误的结果?还没准备好跑步吗?如果是后者,您在什么时候卡住了?我想将>=2个resx文件转换为一个resx文件,并从这两个文件中提取指定的数据。错误:“InvalidOperationException未处理”-->结果将是无效的XML文档我在这里没有看到p/3构造函数。。。
public static void MergeResx(XElement target, string[] sources)
{
foreach (string source in sources)
{
XElement xe = XElement.Load(source);
target.Add(new XElement("InternalRoot", new XAttribute("Source", source), from el in xe.Elements()
select el));
}
target.Save(@"C:\MergeDone.xml");
}