gpt4 book ai didi

c# - 将 Linq 转换为 XSLT

转载 作者:数据小太阳 更新时间:2023-10-29 01:43:42 24 4
gpt4 key购买 nike

有没有办法将 LINQ 查询转换为 XSLT? LINQ 可以转换为 SQL 的方式相同吗?

我的意思是,如果我有一个定义明确的 XML(符合 XSD),是否有办法将 System.Linq.Expressions 下的内容编译成与该 XML 有关的 XSLT?

谢谢。

对于 Dimitries 请求,我将尝试详细说明......基本上我在一个地方有一些数据(基本上是 xml 可序列化数据 block ),我需要处理它们,我需要组合和处理它们.

传入的原始数据和输出结果数据都是 XML 可序列化的,并且符合定义良好的 XSD。

我想在其他地方动态生成处理逻辑。并允许我的用户更改和尝试处理。我可以用表达式树轻松地表示处理过程。表达式树类似于解析树,可以捕获程序代码。这就是 linq to SQL 的工作方式,它将表达式树转换为 SQL 查询。

由于所有收入数据和输出都是定义明确的 XML,我可以使用 XSLT 轻松进行转换,但我对 XSLT 的熟悉程度不足以编写动态 XSLT 生成器。所以我想我可以在 C# 中构建转换并将它们转换为 XSLT....同样,它不是通用 C#,但可能是对定义明确的数据提供程序的特定查询。

举个例子:

(不是真正的代码)

var schemas = XSchemaSet.Load("a","b");
var doc = XDocument.Load("File",schemas);

var result = from node in doc.Nodes
where node.Name == "Cats" || node.Name == "Dogs"
select (new Node(){Name = "Animal Owner", Value = node.Owner)
var newDoc = new XDocument().AddNodes(result);
newDoc.Validate(schemas);

基本上我想要一些功能类似的东西...如果我使用 IQueryable.Aggregate

,我可以在单个 linq 查询中编写它

最佳答案

是的,你可以implement your own query provider ,它在内部使用 XSLT,如果您知道如何使用 XSLT 进行查询的话。

关于c# - 将 Linq 转换为 XSLT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6926806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com