微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用XPath /应用XSL转换遍历任意的C#对象图

我一直在寻找一个允许我将任意C#对象传递给XSL转换的组件.

这样做的天真的方法是使用XmlSerializer对对象图进行序列化;然而,如果你有一个大的对象图,这可能会导致问题,就性能而言.诸如循环引用,懒惰加载,代理等问题可能会使这里的水体进一步浑浊.

一个更好的方法是使用某种实现IXPathNavigable和XPathNavigator的Adapter类.我遇到的一个这样的例子是ObjectXPathNavigator from Byte-Force – 但是,它的大多数关键文档都是俄文,而我的初始测试似乎表明它有一些怪癖和特质.

有没有人知道(a)关于这个英文的任何资源(概述,教程,博客文章等),或者(b)提供相同或相似功能的任何其他替代方案?

解决方法

一个(非常)旧的MSDN文章,标题XPath Querying Over Objects with ObjectXPathNavigator ,它实现了一个类似的类(也称为ObjectXPathNavigator,有趣的是).我在这几年前使用Visual SourceSafe查询一些数据,并从更改日志中构建一个RSS提要,并且运行得很好.但是,我没有使用XSLT,所以我不知道是否有效.另外,请注意,它是为Framework 1.0编写的,因此您可能需要更新它以获取更多近期的框架.此外,现在可能有更好的方法来实现,但它会给你一个起点(文章做的很好,解释它是如何工作的).

原文地址:https://www.jb51.cc/csharp/94275.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐