【问题标题】:XSLT and XPath libraries for .NET Compact Framework.NET Compact Framework 的 XSLT 和 XPath 库
【发布时间】:2014-07-08 15:40:59
【问题描述】:

任何人都可以向我推荐 .net compact framework 3.5 的库或 C# 代码来执行 XSL 转换和/或 xpath 导航?

在您开始输入之前,请注意我的需求是针对 .NET COMPACT FRAMEWORK,我知道完整的框架为此提供了类。另请注意,我尝试并发现 System.Xml.Linq.XDocument 和相关类与 XSLT 和 XPath 无关。

所以,提前谢谢!!!

【问题讨论】:

  • 来自题外话标记菜单:Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow
  • @admdrew 好吧,他的问题至少有一半实际上可以在 Compact Framework 中进行。提问者只是不知道。
  • 嗨艾伦和thanx您的评论和回答。我知道 SelectNodes 和 SelectSingleNode 但这不是我要找的,我的意思是紧凑的框架没有 XPath API,比如带有导航器类的命名空间 XPath。

标签: c# .net xslt xpath compact-framework


【解决方案1】:

实际上我发现我可以使用 Compact Framework 中的 Interop.MSXML2.dll 库进行 XSLT 转换。这是一个示例代码:

// Apply XSLT transform
var domXml = new DOMDocument();
domXml.loadXML(xml);
string xsltPath = "file.xslt";
var domXslt = new DOMDocument();
using (var xsltReader = new StreamReader(xsltPath, Encoding.UTF8))
{
    domXslt.loadXML(xsltReader.ReadToEnd());
}
string transformedXml = domXml.transformNode(domXslt.documentElement);

【讨论】:

    【解决方案2】:

    您可以使用 XPath 在 Compact Framework 中使用 XmlDocument.SelectNodesXmlDocument.SelectSingleNode 选择节点,它们都采用 XPath。

    就寻找 XSLT 库而言,我只是在寻找像您这样的库。这取决于您使用的操作系统。例如,您可以在 Windows Mobile 5.0 上 P/Invoke 像 MSXML 这样的本机库。

    【讨论】:

    • 嗨艾伦和thanx您的评论和回答。我知道 SelectNodes 和 SelectSingleNode 但这不是我要找的,我的意思是紧凑的框架没有 XPath API,比如带有导航器类的命名空间 XPath。
    • @hdkrus 你在哪个操作系统上?
    • 操作系统是 Windows CE 5.0
    猜你喜欢
    • 1970-01-01
    • 2010-09-10
    • 1970-01-01
    • 2010-12-09
    • 2012-04-06
    • 1970-01-01
    • 2020-12-09
    • 2010-12-11
    • 1970-01-01
    相关资源
    最近更新 更多