我有一个下面的场景。我需要下面的xpath: 我们有一个包含名称,代码和行为的表格。 我们也可能没有代码旁边的空白栏。它可能是任何数字。 但是表格以名称开头并以行为结束。需要XPath:检查特定列的每一行内的值
THEAD例如:
1) <Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
2)<Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
3) <Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
TBODY的第一行应该在所有column.Mainly在代码值和空THEAD列。 另外单元格可能包含内部元素Element1。
TBODY第一行例如:
ex 1) <Row>
<Cell><Element>abc</Element></Cell>
<Cell><Element>23</Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
ex 2)<Row>
<Cell><Element>ttt</Element></Cell>
<Cell><Element>34</Element></Cell>
<Cell><Element>45</Element></Cell>
<Cell><Element>good</Element></Cell>
</Row>
ex 3) <Row>
<Cell><Element>yyy</Element></Cell>
<Cell><Element>22</Element></Cell>
<Cell><Element>33</Element></Cell>
<Cell><Element><Element1>4</Element1>4</Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
来自行2开始,我们需要检查在-至少在代码列中的任意一种元素和相邻的空柱应该具有的值。 如果任何一行有值,那么我们应该按照示例输出1中所述转换表(正例)。 ie)表格名称应改为XYZ,并为代码列和相邻的空列组合所有元素进入的单元格进行组合。
样品输入1:(正时)
<Table Name="abc">
<Thead>
<Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
</Thead>
<Tbody>
<Row>
<Cell><Element>Sam</Element></Cell>
<Cell><Element>1</Element><Element>2</Element><Element>1</Element></Cell>
<Cell><Element>1</Element><Element></Element><Element>1</Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
<Row>
<Cell><Element>xyz</Element></Cell>
<Cell><Element>123</Element></Cell>
<Cell><Element></Element><Element></Element><Element><Element1>1<Element1></Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
</Tbody>
</Table>
采样输出1:(正时)
<Table Name="XYZ">
<Thead>
<Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
</Thead>
<Tbody>
<Row>
<Cell><Element>Sam</Element></Cell>
<Cell><Element>121</Element></Cell>
<Cell><Element>11</Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
<Row>
<Cell><Element>TTT</Element></Cell>
<Cell><Element>123</Element></Cell>
<Cell><Element>1</Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
<Row>
<Cell><Element>PPP</Element></Cell>
<Cell><Element>123</Element></Cell>
<Cell><Element>1</Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
</Tbody>
</Table>
如果所有的行具有在任何一列空值,那么我们什么也不做。
样品输入2:(否定的情况下)
<Table Name="abc">
<Thead>
<Row>
<Cell><Element>Name</Element></Cell>
<Cell><Element>Code</Element></Cell>
<Cell><Element></Element></Cell>
<Cell><Element>Conduct</Element></Cell>
</Row>
</Thead>
<Tbody>
<Row>
<Cell><Element>Sam</Element></Cell>
<Cell><Element>1</Element><Element>2</Element><Element>3</Element></Cell>
<Cell><Element></Element><Element></Element><Element></Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
<Row>
<Cell><Element>xyz</Element></Cell>
<Cell><Element>123</Element></Cell>
<Cell><Element></Element><Element></Element><Element><Element1><Element1></Element></Cell>
<Cell><Element>Good</Element></Cell>
</Row>
</Tbody>
</Table>
Sample Output2:(Negative case)
same as input.
我们尝试:
计数(TBODY //行[计数(./细胞[2] /元素[数(正常化空间( 。))和数字(规格化空间(。))> 0])!= 0])
这项工作仅适用于代码列,但我们不知道有多少个仲裁空列会出现。我们需要知道xpath。
http://stackoverflow.com/help/someone-answers –