我有这个XML文件:
<recursos>
<recurso url="http://w3c.com">
<descripcion>Consorcio W3C</descripcion>
<tipo>externo</tipo>
<idioma>ingles</idioma>
<contenido>General</contenido>
<unidad>Unidad 2</unidad>
</recurso>
<recurso url="http://html.com">
<descripcion>Especificación HTML</descripcion>
<tipo>externo</tipo>
<idioma>castellano</idioma>
<contenido>HTML</contenido>
<version>4.01</version>
<unidad>Unidad 3</unidad>
</recurso>
</recursos>
Run Code Online (Sandbox Code Playgroud)
我想将一个"recurso"的前一个兄弟元素"unidad"与当前"recurso"的"unidad"进行比较,以检查它们是否不同.
我在努力:
<xsl:if test="preceding-sibling::recurso[position()=1]::unidad != unidad">
</xsl:if>
Run Code Online (Sandbox Code Playgroud)
但我知道这是非常错误的:(我希望你能帮助我,非常感谢你.
我在互联网上找到一些文章这个网址
然后我像这样编码查询,我得到相同的结果
但是当我改变AS [text()]时[name]
结果包含XML标记
像这样
所以我的问题是[text()]这段代码中的内容
谢谢.
我有以下HTML代码,我需要检查表格单元格中是否存在文本:
<div class="background-ljus" id="AutoText">
<table class="topAlignedCellContent">
<tbody>
<tr>
<td>X1</td>
</tr>
<tr>
<td>X2</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Y1</td>
<td>Y2</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Z1</td>
<td>Z2</td>
</tr>
</tbody>
</table>
</div>
Run Code Online (Sandbox Code Playgroud)
我已经解决了这个问题:
By locator = getLocator(CommonConst.XPATH, "*//div[@" + type + "='" + anyName + "']");
fluentWait(locator);
WebElement div = getDriver().findElement(locator);
List<WebElement> cells = div.findElements(By.tagName("td"));
for (WebElement cell : cells) {
if (cell.getText().contains(cellText)) {
foundit = true;
}
}
Run Code Online (Sandbox Code Playgroud)
但我认为它有点慢,因为我需要多次这样做.我试图用XPath做这个,但没有运气.
"*//div[@id='AutoText']//td[contains[Text(), 'celltext']]"
"*//div[@id='AutoText']//table//tbody//tr[td//Text()[contains[., 'celltext']]"
Run Code Online (Sandbox Code Playgroud)
任何人都有一个关于为什么我的XPath不工作的建议?