在过去的几次中,我遇到过这个问题。我的解决方案似乎总是过于复杂。如何在最少的步骤中从一个对象转到一个XPathDocument?在过去,我创建了一个MemoryStream,但这个解决方案总是需要大量的消息传递,这导致了丑陋的代码。
你有什么建议?
static void Main(string[] args)
{
itemOrder order = GenerateTestItem();
XPathDocument doc = new XPathDocument(order);//wish it took the object directly...
XslTransform transform = new XslTransform();
transform.Load("Test.xslt");
XmlTextWriter writer = new XmlTextWriter("result.html",null);
transform.Transform(doc, null, writer);
Console.Write(writer);
writer.Close();
}发布于 2011-04-01 01:17:28
你不能用XPathDocument来做这件事,因为它需要Xml文档作为存储。
您可以实现底层接口IXPathNavigable和相应的XPathNavigator类来遍历对象。下面的文章介绍了这种方法:http://msdn.microsoft.com/en-us/library/ms950764.aspx。XslTransform有相应的转换方法,您可以稍后使用它来应用Xsl:http://msdn.microsoft.com/en-us/library/ms163484.aspx
https://stackoverflow.com/questions/5503500
复制相似问题