xml - 为什么我的XPath表达式不匹配?

标签 xml xpath

我使用http://www.freeformatter.com/xpath-tester.html来获取UserId

  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                    xmlns:paf="http://paf.mycompany.com/">
     <soapenv:Header/>
     <soapenv:Body>
        <paf:requestpafBean>
           <!--Optional:-->
           <arg0>
              <!--Optional:-->
              <UserId>?</UserId>
              <!--Optional:-->
              <DateNow>?</DateNow>
           </arg0>
        </paf:requestpafBean>
     </soapenv:Body>
  </soapenv:Envelope>


测试这个XPath表达式:

//paf:UserId[1]/@text


为什么我找不到比赛?

最佳答案

以下XPath表达式,

//UserId/text()


将根据要求选择?

笔记:


UserId不在命名空间中,因此您不需要paf:UserId
如果有多个UserId,则可以将UserId[1]添加到
表达。
text上没有UserId属性,因此您不需要UserId/@text,但是text()下有一个UserId节点,因此您确实需要UserId/text()
如果UserId下可能还有其他标记,则可能需要它的字符串
string(//UserId),而不是选择其子文本节点。

关于xml - 为什么我的XPath表达式不匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35732595/

相关文章:

python - 如何从 json 文件中提取一些文本而不加载它?

c# - 用于搜索节点后代的 Xpath

c# - HtmlAgilityPack 获取一个DIV内的所有链接

python - 如何在 Python 中通过 LXML 引用父元素并删除 RSS XML 中的父元素?

javascript - JQuery和XML调整背景

xpath - 条件表达式

xpath - XPATH-如何在单个xpath表达式中选择单选按钮和文本?

java - 如何在命令行中使用 XPath 和 Saxon-HE 解析 HTML?

xml - 如何使用 ssis 从多个 XML 文件中删除命名空间?

java - 如何使用 JAXB 将 null 值表示为空元素?