0

我想从其中一个包含特定文本的父节点获取所有子节点。换句话说:我在某个子节点上开始搜索,我确定该子节点包含我需要的一些字符串。一旦我找到它,我不需要从与相同 Xpath 表达式匹配的节点中获取所有其他字符串,而是需要在同一级别上获取其他节点。我正在使用 Java。例如:

     <table width="575" border="0" cellspacing="1" cellpadding="0">
                <tr> 
                  <td width="39" class="back1"><b class="texto4">CRN</b></td>
                  <td width="60" class="back1"><b class="texto4">Materia</b></td>
                  <td width="53" class="back1"><b class="texto4">Secci&oacute;n</b></td>
                  <td width="55" class="back1"><b class="texto4">Cr&eacute;ditos</b></td>
                  <td width="156" class="back1"><b class="texto4">T&iacute;tulo</b></td>
                  <td width="69" class="back1"><b class="texto4">Cupo</b></td>
                  <td width="57" class="back1"><b class="texto4">Inscritos</b></td>
                  <td width="77" class="back1"><b class="texto4">Disponible</b></td>
                </tr>
                <tr> 
                  <td width="39"><font class="texto4"> 
                    10110                        </font></td>
                  <td width="60"><font class="texto4"> 
                    IIND1000                        </font></td>
                  <td width="53"><font class="texto4"> 
                  <div align="center">
                    1                        </div></font></td>
                  <td width="55"><font class="texto4"> 
                    <div align="center">
                    3                       </div>
                    </font></td>
                  <td width="156"><font class="texto4"> 
                    INTROD. INGEN. INDUSTRIAL                        </font></td>
                  <td width="69"><font class="texto4"> 
                    100                        </font></td>
                  <td width="57"><font class="texto4"> 
                    100                        </font></td>
                  <td width="77"><font class="texto4"> 
                    0                        </font></td>
                </tr>
              </table>

如果我查找 IIND1000,我想获取该 tr 标签中的每个 td 元素(10110,IIND1000, 1, 3, INTROD.INGEN. INDUSTRIAL, 100, 100, 0)。这可能与 Jtidy 吗?有什么提示或建议吗?谢谢。

4

1 回答 1

1

你可能想要这个:

XPathExpression expr = 
     xpath.compile("//tr[td[normalize-space(font) = 'IIND1000']]/td/font/text()"); 

括号中的条件检查是否存在具有所需条件的孙节点,并且只会输出匹配的所有孙节点<tr>

于 2014-07-11T06:38:21.347 回答