Sof*_*ant 5 .net xml xslt transformation asp.net-mvc-2
我将基于可扩展样式语言转换将XML文档转换为另一个XML文档.我在哪里可以找到关于如何在.NET中执行此操作的好教程?
我发现了一些关于如何使用开源工具进行操作的内容.但是.NET框架呢?只是其他一些快速问题......
有人可以给我一个关于XSLT操作顺序的快速而肮脏的解释吗?我对发生的事情仍然有点困惑?
是否有用于使用XSLT的显式.NET工具?我知道在使用XSLT,XSD和XML文件时,您会在Visual Studio .NET的主菜单上获得一个XML下拉列表.我想现在还可以,但是知道我是否有其他选择会很高兴.
我不会真正转换文件...好吧,我猜可扩展样式表将是一个文件,但我想导入一个XML字符串,将其转换为另一个XML字符串,然后通过它转换为一个视图MVC设计模式.我怎样才能做到这一点?
1)有人可以给我一个关于XSLT操作顺序的快速而肮脏的解释吗?我对发生的事情仍然有点困惑?
从使用的角度来看,只有一个操作:你获取一些输入,XSLT引擎将它转换为输出.
2)有没有明确的.Net工具可以使用XSLT?我知道在使用XSLT,XSD和XML文件时,您可以在Visual Studio .net的主菜单上获得一个小的XML下拉列表.我想现在还可以,但是知道我是否有其他选择会很高兴.
使用它XslCompiledTransform可以应用您的XSL转换.
3)我不会真正转换文件......好吧,我猜可扩展样式表将是一个文件,但我想导入一个xml字符串,将其转换为另一个xml字符串,然后通过它转换为在MVC设计模式中查看.每个人都试着像以前一样疯狂吗?如果是的话,有什么建议?
在XslCompiledTransform我上面提到的类可以直接在流工作,或者XmlReader和XmlWriter对象,所以你可以做整个事情的记忆,没有任何临时文件.
这是一个基本的例子:
// Load the XSL transform from a file
var transform = new XslCompiledTransform();
transform.Load("foo.xslt");
// This is your input string
string input = /* blah */;
// Make an XML reader out of the string
XmlReader inputXmlReader;
using(var inputReader = new StringReader(input))
{
inputXmlReader = XmlReader.Create(inputReader);
}
using(writer = new StringWriter()) // prepare a string writer for the output
{
// if you need to pass arguments to the XSLT...
var args = new XsltArgumentList();
args.AddParam("key", "urn:xml-namespace-of-key", "value");
// Apply the transformation to the reader and write it in our string writer
transform.Transform(inputXmlReader, args, writer);
// Retrieve the output string from the string writer
return writer.GetStringBuilder().ToString();
}
Run Code Online (Sandbox Code Playgroud)
我在哪里可以找到关于如何做到这一点的好教程(...)?
如果您想学习XSLT语言本身,可以查看以前的问题:"如何开始使用xslt-transformations?" .