Web-Harvestを使用して、一部のWebページ「スクレイピング」を実行しています。私は整理する必要がある値のテーブルを持っています。テーブルはとてもシンプルです。ただし、各列のデータ型を判断するには、表の列見出しを使用する必要があります。表は、Web-収穫の例のように、私は、XQueryを使用している、と私はインデックスで値を取得する方法を知っているし、また、属性(クラス、IDを使用して....Web-Harvestは、テーブルの列ヘッダーでデータ型を決定します。
<table>
<tr class="header">
<td>Name</td>
<td>Age</td>
<td>Gender</td>
</tr>
<tr>
<td>Bill</td>
<td>25</td>
<td>M</td>
</tr>
<tr>
<td>Emily</td>
<td>31</td>
<td>F</td>
</tr>
</table>
を次のようになりますなど)が、この場合には、私はその列1を決定するかどうかはわかりませんが、列2は、年齢などで、名前です...私は、この形式で出力XMLにしたい...
<person>
<name>Bill</name>
<age>25</age>
<gender>M</gender>
</person>
<person>
<name>Emily</name>
<age>31</age>
<gender>F</gender>
</person>
私は別の投稿からこのコード断片を見ましたが、私はそれがどのように機能するか正確にはわかりません。
//tr[td[.="Jim"]]/td[count(ancestor::table/thead/tr/th[.="Credit"]/preceding-sibling::*)+1]
それは、各行の祖先(親?)のためのように見えますが、対応する列見出しを見つけるために参照されています。それ以外は、私は失われています。追加情報があれば非常に役に立ちます。
ありがとうございます。