【问题标题】:Which version of XPath is installed安装了哪个版本的 XPath
【发布时间】:2014-07-22 18:42:49
【问题描述】:

我正在使用 powerShell,我想在 XPath 中使用lower-case()。类似的东西

//Machines/Machine[lower-case(@FQDN)=lower-case('machine2.mydomain.com')]

文档显示我需要 XPath 2.0,如何查看我的服务器上安装的 XPath 版本?

【问题讨论】:

  • 不确定我是否理解您的问题,但您是否只是在 powershell 中寻找小写字母?在任何字符串上,您都可以使用.ToLower(),例如"IDONTKNOWWHATWEREYELLINGABOUT".ToLower() 将返回idontknowwhatwereyellingabout。不确定问题的 Xpath 部分?
  • 我在检查 xpath 版本时发现了这一点:stackoverflow.com/questions/7951879/…。第二段中评分最高的答案。
  • 与 windows 事件日志一起使用的 xpath 更加残缺。

标签: powershell xpath-2.0


【解决方案1】:

从 .NET Framework 中的 2012, Microsoft was officially not supporting XPath 2.0 开始(除非您引入第 3 方库,否则您将在 PowerShell 中使用它),直到最近的 last year 仍然没有发生。鉴于他们 said a decade ago 他们不会实施它,而且它还没有发生 - 不要指望它会发生。

请参阅XPath and XSLT 2.0 for .NET? 了解替代方案。

【讨论】:

    【解决方案2】:

    您可以在 powershell 中执行此操作而无需担心大小写:

    $xml = [xml](get-content file.xml)                                     
    $xml.machines.machine | ? fqdn -eq machine2.mydomain.com
    
    
    FQDN
    ----
    machine2.mydomain.com
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-02-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多