Xml 如何查找XPath为1.0的子字符串

Xml 如何查找XPath为1.0的子字符串,xml,xpath,sonarqube,xpath-1.0,Xml,Xpath,Sonarqube,Xpath 1.0,我在XPATH 1.0中查找特定子字符串时遇到问题。此表达式将在代码审阅工具SonarQube中用于设置约束 这是我目前在XPATH 3.0中使用的表达式,我已经做了一些研究来找到转换,但是这个表达式在XPATH 3.0中的语法似乎与在1.0中的语法一样正确。我是忽略了什么还是只是误传了 //*[contains(.,'@example.com')] 据我所知,这使用XPATH 1.0自带的contains()函数来搜索它前面的任何/substant或self::node()/路径,以包含属性

我在XPATH 1.0中查找特定子字符串时遇到问题。此表达式将在代码审阅工具SonarQube中用于设置约束

这是我目前在XPATH 3.0中使用的表达式,我已经做了一些研究来找到转换,但是这个表达式在XPATH 3.0中的语法似乎与在1.0中的语法一样正确。我是忽略了什么还是只是误传了

//*[contains(.,'@example.com')]
据我所知,这使用XPATH 1.0自带的contains()函数来搜索它前面的任何
/substant或self::node()/
路径,以包含属性
example.com

/*[contains(,“@example.com”)]
的意思“查找包含子字符串“@example.com”的具有文本内容的任何类型的节点。如果要“查找具有属性且其值中包含“@example.com”的节点”,您需要:

  • 任何属性中:

    //*[contains(@*, "@example.com")]
    
    //*[contains(@email, "@example.com")]
    
  • 特定属性中:

    //*[contains(@*, "@example.com")]
    
    //*[contains(@email, "@example.com")]
    
如果要获取所需的
@属性的值

//*[contains(@email, "@example.com")]/@email

您能否将HTML示例与当前和所需的输出一起共享?@Andersson因此我试图实际解析一个XML文件,但下面是要解析的假设XML文件,如果找到子字符串,所需的输出将返回true
约翰尼·戴普
我想让它捕捉到那封硬编码的电子邮件谢谢!这封邮件效果很好。答案非常翔实!