2016-08-26 15 views
-2

は私が<p>タグ内のすべてのテキストを選択したい、次のネストされたイタリックフォントタグをXpathにマッチさせる方法は?

<p class="long"> 
    <i>Malicious</i> 
    " is the adjective based on the noun " 
    <i>malice</i> 
    ", which means the desire to harm others. Both words come from the latin word " 
</p> 

ようxml構造を考えてみましょう。 私はこれで

examples = tree.xpath('//p[@class="long"]/text()') 

で試してみました、しかし、<i>タグの間のすべてのテキストは、何らかの理由で無視されます。

<p>タグ内のすべてのテキストを抽出する正しい方法は、ほかのネストされたタグにも含まれていますか?

+0

これは私の結果です:['は名詞に基づいた形容詞です'、つまり他の人に害を及ぼすことを意味します。誰かが悪意のある人であれば、彼は喜んでいません 悪いことが起こる;彼は悪いことが起こるのが大好きです。]] – Igor

+0

外部サイトへのリンクに依存します。 SOは質問と回答の検索可能なアーカイブを作成することを目指しており、外部サイトへのリンクはそれを妥協します。 –

答えて

0

あなたは非常に特別な要件がない限り

+0

これは大変義務的です – Igor

1

(また、直接の子ではないノードに一致するtext()前にダブルスラッシュ、と)テキスト(の使用は避けてください)

examples=tree.xpath('//p[@class="long"]//text()') 

で試してみてください - まさにこの理由のためです。おそらく、p要素の文字列値に興味があり、その子テキストおよび要素ノードではありません。あなたのパス式は複数の "p"要素を選択していますか?pを返すことができますか?(XPath APIはノードセットではなく文字列を返すことができますか?要素を入力し、文字列の値をホストアプリケーションで取得しますか?)

関連する問題