从对象到XPathDocument的最快方法

时间:2011-03-31 17:00:29

标签: c# serialization

我过去曾经遇到过这个问题几次。我的解决方案似乎总是过于复杂。如何在最少的步骤中从对象转到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();
        }

1 个答案:

答案 0 :(得分:1)

您不能使用XPathDocument,因为它希望Xml文档作为存储。

您可以实现底层接口IXPathNavigable和相应的XPathNavigator类来遍历对象。以下文章介绍了这种方法:http://msdn.microsoft.com/en-us/library/ms950764.aspx。 XslTransform具有相应的Transform方法,您可以稍后使用它来应用Xsl:http://msdn.microsoft.com/en-us/library/ms163484.aspx