如何在 .NET 4.0 中使用 XPath 2.0 方法?

2024-03-05

我正在使用 .NET 4.0 并且我想使用 XPath 2.0 方法,例如 ([Matches()][1], [upper-case()][2], [lower-case()][3])尝试在文档中查找元素。

X 路径示例:"/MyDocument/MyNode[matches(@MyAttribute, 'MyValue', 'i')]"

我尝试过使用:

  • System.Xml.XPath.XPathNavigator.Compile()
  • System.Xml.XmlDocument.SelectNodes()
  • System.Xml.Linq.XDocument.SelectElements()

但我基本上抛出异常“UndefinedXsltContextException”(或类似的东西)。这可以在 .NET 4.0 中完成吗?如果可以,您能否提供一个关于如何设置它工作的小示例?

Thanks


.NET 目前不支持 XPath 2.0。有关更多详细信息和第三方替代方案,请参阅此问题:适用于 .NET 的 XPath 和 XSLT 2.0? https://stackoverflow.com/q/1525299

如果您不想使用第三方库,则可以使用 XPath 1.0 或 LINQ to XML 执行所需的最少查询来获取目标元素,然后使用 .NET 方法对数据执行其他操作以执行以下操作:所需的检查和修改:

  • Matches = Regex.IsMatch http://msdn.microsoft.com/en-us/library/sdx2bds0.aspx- 请注意,XPath 正则表达式模式可能具有与 .NET 模式不同的元字符,因此可能需要进行一些转换。
  • upper-case = String.ToUpper http://msdn.microsoft.com/en-us/library/ewdd6aed.aspx- 该链接还提到了文化/不变选项,以防您需要它们
  • lower-case = String.ToLower http://msdn.microsoft.com/en-us/library/e78f86at.aspx
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 .NET 4.0 中使用 XPath 2.0 方法? 的相关文章

  • DataTable.Load,一行或多行包含违反非空、唯一或外键约束的值

    我搜索了很多 但找不到解决方案 我收到错误 未能启用约束 一行或多行包含违反非空 唯一或外键约束的值 I run DataTable GetErrors 并看到一些列设置为Not NULL在 SQL 精简版数据库中 这些列用于LEFT OU
  • 为什么 lambda 比 IL 注入动态方法更快?

    我刚刚构建了动态方法 见下文 感谢其他 SO 用户 看起来 Func 创建为动态方法 IL 注入比 lambda 慢 2 倍 有谁知道具体原因吗 编辑 这是在 VS2010 中构建为 x64 版本的 请从控制台而不是从 Visual Stu
  • 在 REST WCF 中读取 HttpRequest 正文

    我在 net 4 中运行了一个 REST WCF 服务 并且我已经测试了它正在工作并接受我对其发出的 HttpRequest 的 Web 服务 但我在尝试访问 Web 服务中的 HttpRequest 主体时遇到了问题 我尝试使用 Fidd
  • TcpClient 与服务器通信以在 C# 中保持活动连接?

    我有这个 TcpClient 代码 工作正常 它连接到 Linux 系统上的 perl 服务器并接收服务器发送给它的任何内容 效果很好 public static void Main foreach ProtocolConnection t
  • .NET 中的嵌套事务

    我怎样才能执行与此等效的操作 我的理解是 这对于 TransactionScopes 来说是不可能的 https stackoverflow com questions 2741988 nested child transactionsco
  • 在 Visual Studio 中使用 Saxon .NET XSLT 处理器无法与智能感知配合使用

    我正在使用开源撒克逊 XSLT 处理器 http saxon sourceforge net 让 NET 执行一些 2 0 转换 我像引用任何其他 dll 一样引用 saxon9api dll 并且可以针对它编译代码 然而 Visual S
  • xsl:for-each 循环内的计数器

    如何在 xsl for each 循环内获取一个计数器 该计数器将反映当前处理的元素的数量 例如我的源 XML 是
  • XSLT 2.0 中的简洁正则表达式提取功能

    我可以从 XSLT 2 0 文档中看到最好的结果 或者至少从我在这些地方读到的内容中看到 Saxon 分析字符串函数 http www saxonica com html documentation xsl elements analyze
  • XSL。评估表达

    对不起我的英语不好 XSL 1 0 如何从元素或属性值计算表达式 例如 XML
  • XPath - 测试是否至少有一个节点具有给定值

    给定以下 XML
  • XSLT 中是否有一种包含一次?

    I have FileA FileB and FileC FileA包括FileB and FileC FileC包括FileB XSLT 1 0 中是否有一种一次性包含功能 如果你使用
  • 检查Web服务是否存在

    有人可以告诉我确定给定 URL 是否存在 Web 服务 ASP NET 的最佳方法吗 我假设一种方法类似于使用 System Net Webclient 发出请求 但我如何确定它是否是有效的 Web 服务以及我应该发出哪种类型的请求 编辑
  • 未调用派生类的 C++/cli 静态构造函数

    如上所述在我的另一篇帖子中 https stackoverflow com q 29410579 2505186从 VS 2008 net 3 5 迁移到 VS 2013 并使用 net 4 0 而不是 4 5 后 我发现我的应用程序出现了
  • 编写 XSLT 分组

    我有一个简单的 XML 其中包含两个级别 标题和行 标签 例如
  • 将属性应用于返回值 - 在 F# 中

    在 C 中 可以将属性应用于方法的返回 return DynamicAttribute public object Xyz return new ExpandoObject 这在 F 中可能吗 背景 我想要一个用 F 编写的库的方法 该方法
  • 如何使用 XSLT 从平面 XML 列表构建树?

    我使用极简 MVC 框架 其中PHP控制器手上的DOM模型 to the XSLT 视图 c f okapi http okapi liip ch 为了构建导航树 我在 MYSQL 中使用了嵌套集 这样 我最终得到一个如下所示的模型 XML
  • 以 UTF8 而不是 UTF16 输出 DataTable XML

    我有一个 DataTable 我正在使用 WriteXML 创建一个 XML 文件 尽管我在以 UTF 16 编码导出它时遇到问题 并且似乎没有明显的方法来更改它 我了解 NET 在字符串内部使用 UTF 16 这是正确的吗 然后 我通过
  • 有人可以推荐一个免费的 xslt 工具吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何去除 XSL 中字符的重音符号?

    我一直在寻找 但找不到相当于字符 规范化空间 的 XSL 函数 也就是说 我的内容带有重音 UNICODE 字符 这很好 但是从该内容中 我正在创建一个文件名 但我不想要这些重音 那么 是否有一些我忽略的东西 或者没有正确地谷歌搜索来轻松处
  • 使用 PHP 对 ASP.NET 成员身份中的用户进行身份验证

    我在尝试使用 PHP 针对现有 ASP NET 成员资格数据库对用户进行身份验证时遇到一些问题 我在网上搜索过 发现现有的答案似乎对我不起作用 即 public static function Hash password salt deco

随机推荐

  • 为 C++ 多维类指针创建初始化和删除函数

    我创建了一个类并使用多维指针 如下所示 variable v mod v mod new variable 3 for int i 0 i lt 3 i v mod i new variable n 并在使用后删除指针 for int i
  • 如何更改最新发布的 Visual Studio Code 中的默认浏览器?

    正如标题所说 默认浏览器是IE 但我想使用其他浏览器 我该怎么办 您可以将 Windows 默认设置程序更改为您的浏览器 Windows 7的 控制面板 gt 程序 gt 设置默认程序
  • 从 DLL 导出静态 lib 符号

    我正在将 Facade DLL 用于静态库 Dll 提供了一个小型接口和资源管理 可以在多个 DLL 之间共享 Dll Header 确实公开了静态库中的内容 class DLL EXPORT MyDllClass public OneSt
  • Android 通知 FCM 与简单拉取

    对于我的 Android 应用程序 我需要从服务器接收一些通知 通知的时间要求并不严格 当用户打开应用程序时检查新通知就足够了 因此根本没有后台活动 我注意到 建议使用 FCM Firebase Cloud Messaging 之类的服务来
  • 用对象项填充 listView 的正确方法?

    在我的 NativeScript 项目中 我尝试使用自定义对象 定义为接口 的实例填充 ListView 但输出 在 Android 模拟器上 非常奇怪 我在多行中生成了 object object object 而不是按照我的定义获取每个
  • python不确定性包中的零除错误

    为什么会出现以下零除错误 gt gt gt from uncertainties import ufloat gt gt gt a ufloat 0 0 gt gt gt x ufloat 0 3 0 017 gt gt gt a x Tr
  • 控制 lme4 1.0.* 中的最大迭代次数

    我使用 R 中的 glmer 命令 来自 lme4 包 估计了随机系数风险模型 该命令如下所示 logit full lt glmer event V12 I V1 2 V13 V9 I V5 2 V11 V10 V2 V3 V4 V6 V
  • 允许匿名/来宾用户“尝试”功能,而无需在 Rails/Devise/CanCan 应用程序中注册

    我正在使用 Devise 和 CanCan 开发 Rails 3 应用程序 该应用程序允许匿名 未注册 用户访问该应用程序的某些部分 并允许注册用户访问其他部分 该应用程序 瑜伽锻炼应用程序 的一个方面是 用户可以通过将瑜伽姿势串在一起来创
  • 从 git 历史记录中删除文件 - 错误修订错误

    我按照 Github 上的说明进行操作 https help github com articles remove sensitive data https help github com articles remove sensitive
  • Android - RadioButton 未在初始选中状态下取消选中

    我在 RadioGroup 中有一个 RadioButton 当我设置按钮的初始状态时出现问题 机器人 检查 真 因为如果我按下单选按钮 F 单选按钮 M 不会取消选中 我能怎么做 怎么了 这是代码
  • 来自 URL 的 Facebook ID

    给定一个 Facebook 网址 例如http facebook com cnn http facebook com cnn 有什么方法可以获取该页面的ID而不需要抓取它吗 这是更好的 并且legal 使用图形 API 来执行此操作 只需执
  • 使用 MySQLdb 执行“SELECT ... WHERE ... IN ...”

    我在 Python 中执行一些 SQL 时遇到问题 尽管类似的 SQL 在mysql命令行 该表如下所示 mysql gt SELECT FROM foo fooid bar 1 A 2 B 3 C 4 D 4 rows in set 0
  • 如何在 Kubernetes 中模拟断电

    我有我的rook ceph集群运行于AWS 它加载了数据 有什么办法可以刺激一下电源 检测 失败这样我就可以测试我的集群的行为 从 Docker 你可以发送 KILL 信号 SIGPWR 电源故障 系统 V http man7 org li
  • 重试时修改源 Observable - RxJava

    如何在重试时更新可观察的源 List
  • 如何在 PHP 中获取单选按钮的值?

    我创建了一个基本网站 要求用户选择一个单选按钮 我想要一个 PHP 文件来检索所选单选按钮的值并做出相应响应 但该文件当前不产生任何输出 我现在使用的代码有什么问题吗 为什么我的 PHP 文件无法正确检索单选按钮值 索引 html
  • 如何在Lua中创建目录?

    是否可以在 lua 中创建目录 如果是这样 怎么办 有一个 系统 调用 或类似的东西 这是来自内存的 您应该能够使用它来运行任意程序 其中可能包括 mkdir 命令 EDIT 我找到了我的Lua 编程书 在第 203 页 它提到了如何使用
  • 将 JFreeChart 系列名称映射到系列索引

    我正在策划一个TimeTableXYDataset用一个StackedXYBarRenderer 不幸的是 每个系列的颜色在刷新时都会发生变化 我知道如何使用设置颜色setSeriesPaint渲染器的方法 但它采用整数系列索引作为参数 我
  • 如何在 .NET 中启用程序集绑定失败日志记录 (Fusion)

    如何在 NET 中启用程序集绑定失败日志记录 Fusion 将以下值添加到 HKEY LOCAL MACHINE SOFTWARE Microsoft Fusion Add DWORD ForceLog set value to 1 DWO
  • 获取 JCarousel 中当前项目的索引

    我正在尝试获取当前项目的索引J旋转木马 http sorgalla com jcarousel 这样我就可以向用户显示轮播中的当前位置 例如 13 20 我怎样才能做到这一点 EDIT 最终产品样品 我认为您正在寻找的是 carousel
  • 如何在 .NET 4.0 中使用 XPath 2.0 方法?

    我正在使用 NET 4 0 并且我想使用 XPath 2 0 方法 例如 Matches 1 upper case 2 lower case 3 尝试在文档中查找元素 X 路径示例 MyDocument MyNode matches MyA