Java中XPATH的精确位置

Java中XPATH的精确位置,xpath,rapidminer,Xpath,Rapidminer,我试图返回精确的XPATH查询表达式,以便使用rapidminer对站点进行数据挖掘。 我需要一个查询来单独隔离每一行: 2012年11月7日星期三 巨魔 999999999999 07.11.12 暗示提交的文件 2012年11月20日星期二下午1:12 到目前为止,我只有//td[@class='select']/text() 注意:这些值将更改,因此查询需要特定于位置 对于每个值,六个单独的查询是什么 <tr> <td class=&q

我试图返回精确的XPATH查询表达式,以便使用rapidminer对站点进行数据挖掘。 我需要一个查询来单独隔离每一行:

2012年11月7日星期三

巨魔

999999999999

07.11.12

暗示提交的文件

2012年11月20日星期二下午1:12

到目前为止,我只有
//td[@class='select']/text()

注意:这些值将更改,因此查询需要特定于位置

对于每个值,六个单独的查询是什么

        <tr>
          <td class="select" onClick="javascript:window.location.href = 'consignmentDetails.do;jsessionid=7e6a45cbddf07ecba7741e5020b4bfe76e53b8f5df9ea83eaf2040b991792d25.e3iMc3eQax8Re34Qb3aKbNmOch90?consignment=1388730000024&recordCreatedBy=FIMS&groupId=';" onMouseOver="backColorChange(this,'FFFFCC')" onMouseOut="backColorChange(this,'ffffff')">
            Wed 7/11/2012<br>
            TROLL&nbsp;
            
          </td>
          <td class="select" align="center" onClick="javascript:window.location.href = 'consignmentDetails.do;jsessionid=7e6a45cbddf07ecba7741e5020b4bfe76e53b8f5df9ea83eaf2040b991792d25.e3iMc3eQax8Re34Qb3aKbNmOch90?consignment=1388730000024&recordCreatedBy=FIMS&groupId=';" onMouseOver="backColorChange(this,'FFFFCC')" onMouseOut="backColorChange(this,'ffffff')">
            9999999999999
            <br>07.11.12
            
            &nbsp;
          </td>
          <td class="select" onClick="javascript:window.location.href = 'consignmentDetails.do;jsessionid=7e6a45cbddf07ecba7741e5020b4bfe76e53b8f5df9ea83eaf2040b991792d25.e3iMc3eQax8Re34Qb3aKbNmOch90?consignment=1388730000024&recordCreatedBy=FIMS&groupId=';" onMouseOver="backColorChange(this,'FFFFCC')" onMouseOut="backColorChange(this,'ffffff')">
             
              
              
                      
                CONNOTE FILE LODGED <br>
                Tue 20/11/2012 1:12 PM
              &nbsp;
            
            
            
&nbsp;
          </td>
          
        </tr>
      
    </table>

2012年11月7日星期三
拖钓 9999999999999
07.11.12 意味着提交的文件
2012年11月20日星期二下午1:12
使用Ruby库(位于libxml2之上,实现XPath 1.0)测试:

xpath=%w{
//tr/td[1]/text()[1]
//tr/td[1]/text()[2]
//tr/td[2]/text()[1]
//tr/td[2]/text()[2]
//tr/td[3]/text()[1]
//tr/td[3]/text()[2]
}
需要“nokogiri”
d=Nokogiri.HTML(HTML)
xpath.each{| expression | pd.at_xpath(expression.content}
#=>“\n 2012年11月7日星期三”
#=>“\n巨魔\u00A0\n\n”
#=>“\n 9999999999\n”
#=>“07.11.12\n\n\u00A0\n”
#=>“\n\n\n\n\n意味着文件已提交”
#=>“\n 2012年11月20日星期二下午1:12\n\u00A0\n\n\n\u00A0\n”
如您所见,文本节点包含许多额外的前导和尾随空格,您可能希望去掉这些空格。我们可以使用以下方法来剥离:

xpath=%w{
规范化空间(//tr/td[1]/text()[1])
规范化空间(//tr/td[1]/text()[2])
规范化空间(//tr/td[2]/text()[1])
规范化空间(//tr/td[2]/text()[2])
规范化空间(//tr/td[3]/text()[1])
规范化空间(//tr/td[3]/text()[2])
}
xpath.each{| expression | pd.xpath(expression)}
#=>“2012年11月7日星期三”
#=>“巨魔\u00A0”
#=> "9999999999999"
#=>“07.11.12\u00A0”
#=>“暗示文件已提交”
#=>“2012年11月20日星期二下午1:12\u00A0\u00A0”