Java 如何忽略'';在Xpath中?
我试图找出在编写xpath时如何忽略定位器中的“” 例如:Java 如何忽略'';在Xpath中?,java,xml,xpath,selenium-webdriver,webdriver,Java,Xml,Xpath,Selenium Webdriver,Webdriver,我试图找出在编写xpath时如何忽略定位器中的“” 例如: //affiliation-summary[@ng-if='oaProfileStatus.oa.workflowState === 'PENDING_CONFIRMATION''] 现在我要做的是分别忽略pending和confirmation中p之前和N之后的,这样Xpath就不会将它们作为标识符的起点和终点 为了充分证明,如果我试图实现的目标还不清楚,那么这就是我们在java中所做的 System.out.println("\
//affiliation-summary[@ng-if='oaProfileStatus.oa.workflowState === 'PENDING_CONFIRMATION'']
现在我要做的是分别忽略pending和confirmation中p之前和N之后的,这样Xpath就不会将它们作为标识符的起点和终点
为了充分证明,如果我试图实现的目标还不清楚,那么这就是我们在java中所做的
System.out.println("\"Hello");
忽略终止字符串的“Hello”,以便打印“Hello”
如何在Xpath中实现这一点?在Xpath 1.0中,您可以使用
“
作为字符串分隔符将”放入字符串中,反之亦然。当Xpath嵌套在XML文档中时(例如XSLT、XSD或XProc),您可能还需要将其转义为XML字符引用,或者当XPath嵌套在Java/C字符串中时,您可能需要将其转义为\'
或\“
在XPath 2.0中还有一个附加选项:对于由单引号分隔的字符串,可以包含一个双引号(“不要这样做!”
),
对于由双引号分隔的字符串,可以包含双引号(“不要说”“我不能”“”
)
XSLT中XPath的一个有用技巧,特别是在1.0中,就是使用变量,例如
<xsl:variable name="quot">"</xsl:variable>
<xsl:variable name="apos">'</xsl:variable>
<xsl:variable name="sentence"
select="concat('Don', $apos, 't say ', $quot, 'I can', $apos, 't', $quot)"/>
”
'
您可以改为使用双引号,因此@nf if=“oa…”“
@Thorbjørnravandersen双引号确实有效,我可以继续前进。但是仍然有一种方法可以实现所讨论的行为吗?你不需要在双重包装中转义“角色”quotes@SelThroughJava据我所知不是这样。但是,您可以将值存储在变量中(在XSLT中的工作方式与在Java中的工作方式不同),并使用该变量。