XSL转换C# - 缺少根元素

5

长期读者,第一次发帖!

我的问题相对简单...

源XML:http://pastebin.com/xHnv20Ej XSLT:http://pastebin.com/bAk6sZ9V

我正在尝试使用XSLT转换XML。 我使用的所有编辑器都验证了两个文件的格式正确,并且转换成功。

只要我在C#中使用XslTransform类,就会出现“根元素丢失”异常。

XslTransform myXslTransform;
myXslTransform = new XslTransform();
myXslTransform.Load(Utility.getTransformerToUse());
myXslTransform.Transform(fullPath, targetFile);

据我所见,所有根元素都存在,并且没有其他转换器出现此问题。关于C#的XSLTransform类,我是否漏掉了什么?非常感谢。

+1 分,因为你提出了明确的问题和代码示例!欢迎来到 SO! - Nicholas King
1
请问您能否发布Utility.getTransformerToUse()的代码? - EkoostikMartin
1
我已经双重验证,微软对您的XML没有任何问题。通过XSLT传递您的XML的Visual Studio输出,请参见:http://pastebin.com/8BMYH7iY - Jaime Torres
问题解决了! - 在转换之前,XML文件由XMLValidatingReader格式不正确!感谢所有回复,很抱歉这个解决方案可能永远不会帮助任何人.. 哈哈。 - MxMave
1
仅是一条与你的问题无关但对 API 使用重要的注释,自 .NET 2.0 以来,Microsoft 的 XSLT 1.0 处理器在 .NET 框架中的名称为 System.Xml.Xsl.XslCompiledTransformXslTransform 自 .NET 2.0 起已过时。因此,除非你使用 .NET 1.x,否则应该转移到 XslCompiledTransform - Martin Honnen
显示剩余3条评论
1个回答

0
问题解决了!-在转换之前,XMLValidatingReader使XML文件无效!感谢所有的回复,很抱歉这个解决方案可能永远不会帮助任何人..哈哈。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接