1

libxmljs を使用して HTML を解析します。

基本的に2つのクエリの情報を取得するための「または」結合を持つxpathクエリがあります

doc.find("//div[contains(@class,'important') or contains(@class,'overdue')]")

これは、重要または期限切れのすべての div を返します...

どの条件に由来する結果セット内で接頭辞を付けたり、表示したりできますか?

結果は、最初の条件の場合は 0、2 の場合は 1 の一致のインデックスを持つ配列になる可能性があります...これは可能ですか...

または、どのクエリ条件からどの結果が得られるかをどのように確認できますか...

助けてくれてありがとう...

PS:これは、重要なアイテムまたは期限切れのアイテムのいずれかを持つ一連の要素の単純化された例です...両方、1つまたは1つもありません...したがって、2番目のエントリをすべて探すことはできません...など

これは私が得たい結果です...

message:{},
message:{
   .....
  important: "some immportant text",
  overdue: "overdue date,
  .....
}
4

1 に答える 1

1

XPath クエリのどの句orによって特定の結果が含まれたのかを知る方法はありません。それは単に保持されている情報ではありません。

importantとに対して完全に個別のクエリを実行するoverdueか、1 つの大きなクエリを実行して (現在のように) 結果セット全体を取得してから、各結果のクラスをさらにテストして、それがどれであるかを調べる必要があります。

于 2012-11-15T15:25:36.017 に答える