【问题标题】:XML XPath for key string pattern键字符串模式的 XML XPath
【发布时间】:2018-06-29 21:04:49
【问题描述】:

我有一个如下的 XML 文件

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> 
<plist version="1.0"> 
    <dict>
        <key>CFBundleExecutable</key>
        <string>p4v</string>
        <key>CFBundlePackageType</key>
        <string>APPL</string>
        <key>CFBundleShortVersionString</key>
        <string>2018.2</string>
        <key>CFBundleVersion</key>
        <string>2018.2/1666551</string>
        <key>CFBundleGetInfoString</key>
        <string>2018.2, Copyright 2018 Perforce Software, Inc.</string>
        <key>CFBundleIconFile</key>
        <string>application.icns</string>
        <key>P4RevString</key>
        <string>P4V/MACOSX1013X86_64/2018.2/1666551 (2018/05/30)</string>
        <key>NSPrincipalClass</key>
        <string>NSApplication</string>
        <key>NSHighResolutionCapable</key>
        <string>True</string>
        <key>CFBundleName</key>
        <string>P4V</string>
        <key>CFBundleSignature</key>
        <string>P4VC</string>
        <key>CFBundleIdentifier</key>
        <string>com.perforce.p4v</string>
    </dict>
</plist>

我想检索键 CFBundleShortVersionString

的字符串值 2018.2

XPath 应该是什么。

我试过了

/plist/dict[starts-with(key,'CFBundleShortVersionString')]/string

但它没有用。

【问题讨论】:

    标签: xml xpath xml-parsing


    【解决方案1】:

    试试这个 XPath:

    /plist/dict/key[text()='CFBundleShortVersionString']/following-sibling::string[1]/text()
    

    它的结果是2018.2

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多