【问题标题】:XML Path expressionXML 路径表达式
【发布时间】:2017-10-02 10:56:06
【问题描述】:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>javax</groupId>
            <artifactId>javaee-api</artifactId>
            <version>7.0</version>
        </dependency>
        <dependency>
          <groupId>telnet</groupId>
          <artifactId>telnet.service</artifactId>
          <version>1.10.0-SNAPSHOT</version>
        </dependency>
        <dependency>
          <groupId>xmlthing</groupId>
          <artifactId>xmlthing.service</artifactId>
          <version>1.9.0-SNAPSHOT</version>
        </dependency>
        <dependency>
          <groupId>parser</groupId>
          <artifactId>parser.service</artifactId>
          <version>1.4.0-SNAPSHOT</version>
        </dependency>
    </dependencies>
</dependencyManagement>

还有什么比这更实质性的? 我从version 属性中提取值时遇到问题groupId=telnet。如何获取1.10.0-SNAPSHOT 的xmlpath 值,其中groupId=telnet

抱歉之前没提过: 它应该是 linux/unix 格式(xmllint、grep、sed ...)任何东西 :) 非常感谢! 兄弟, S.

【问题讨论】:

    标签: for-xml-path


    【解决方案1】:

    您可以从选择嵌套在dependency 元素中的所有version 元素开始:

    //pom:dependency/pom:version
    

    然后适当地限定dependency

    //pom:dependency[pom:groupId = 'telnet']/pom:version
    

    当然,您还需要为 XPath 指定命名空间。

    快速 PowerShell 测试:

    PS> $x | Select-Xml '//pom:dependency[pom:groupId = ''telnet'']/pom:version' -Namespace @{pom = 'http://maven.apache.org/POM/4.0.0'} | % node
    
    
    #text
    -----
    1.10.0-SNAPSHOT
    

    【讨论】:

      【解决方案2】:

      我使用 xpath 找到了解决方案:

      xpath -q -e "//dependency[groupId='telnet']/version/text()" pom.xml
      

      【讨论】:

        猜你喜欢
        • 2014-11-20
        • 1970-01-01
        • 1970-01-01
        • 2020-09-30
        • 2014-05-09
        • 2016-06-14
        • 2013-02-12
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多