2017-02-15 10 views
2

私はxpathを使ってたくさんのページからリンクを抽出しようとしていますが、ここで何が間違っているのか分かりません。ページはイタリック体でフォーマットされていませんが、それは私がそれを投げ捨てていると思います。xpathのイタリック体に続くリンクからURLを抽出するにはどうすればよいですか?

これは、HTMLがフォーマットされる方法の例を次に示します。この例では

<p> 
    <i>This content is constant</i> 
    <a href="example.com/exampe123"> 
     <i>This text changes</i> 
    </a> 
    <i> </i> 
</p> 

、単語「text」は変更されませんが、言葉の残りの部分が行います。

私は次のXPathを使用してみましたが、それはうまくいきませんでした

:場合<i>要素が問題を引き起こしている場合は

//p/a[i[contains(text(), 'text')]]/@href 

//p/a[contains(., 'text')]/@href 

答えて

0

XPathオブジェクトを作成する前にALL <i></i>の文字列をテキストで取り除くのはどうでしょうか?

var cleanString = dirtyString.Replace("<i>","").Replace("</i>",""); 

そして、その "クリーンな"文字列からXPathオブジェクトを作成します。あなたのアプリにセグメント<i>がどこにあるかを知る必要はありません。

0

、または:あなたがXPath表現の下のいずれかを使用する場合があります

//p/a[contains(text(), 'text')]/@href 
関連する問題