標準のテーブルを含まない書誌データベースからテキストを解析しようとしています。記事の仕様が存在する場合と存在しない場合があり、存在する場合は仕様のタグが同じです。例えば;すべての記事はタイトルを持っていますが、キーワードセクションのみを持つ記事もあります。彼らはそのセクションを持っている場合、それはそのような標準タグで示さ:xpathでテキストを見つけてセクション全体を抽出する方法
<tr>
<td align="right" valign="top" nowrap="nowrap">Database Name: </td>
<td>Social Science Database</td>
</tr>
<tr>
<td align="right" valign="top" nowrap="nowrap">Journal: </td>
<td>Social Science and Education, 2011,8(4):29-42</td>
</tr>
<tr>
<td align="right" valign="top" nowrap="nowrap">Author: </td>
<td>James H.; Chaomei C.</td>
<td align="right" valign="top" nowrap="nowrap">Type: </td>
<td>Journal</td>
</tr>
<tr>
<td align="right" valign="top" nowrap="nowrap">Article Type: </td>
<td>Research Article</td>
</tr>
<tr>
<td align="right" valign="top" nowrap="nowrap">Retrieve Type: </td>
<td>Bibliographic</td>
</tr>
<tr><td align="right" valign="top" nowrap="nowrap">Language: </td>
<td>En</td>
</tr>
<tr>
<td align="right" valign="top" nowrap="nowrap">Abstract Language: </td>
<td>En</td>
</tr>
はここに私の質問です。私はXpathを使ってKnimeとのテキストを解析しようとしていますが、私は何もできません。私は特定のテキストを含む<tr>
を探して、そのセクションの2番目の<td>
を取りたいと思っています。例: "データベース名":Xpathは "社会科学データベース"を取得する必要があります。
私はこのコードを試してみました:
.//dns:tr//text()[contains(., 'Database Name:')]
をしかし、結果はちょうど最初含まれている、私は2番目のone.Iは、そのコードにしようとした必要があるが、それは何ももたらしません。
.//dns:tr//text()[contains(., 'Database Name:')]/dns:td[*]
http://stackoverflow.com/questions/3139402/how-to-select-following-sibling-xml-tag-using-xpath –