XSLTを使用してrssフィードから取得したデータをクリーンアップしようとしています.pタグ以外のすべてのタグを削除します。XSLT関数を使用して許可タグ以外のすべてのhtmlタグを削除します
Cows are kool.<p>The <i>milk</i> <b>costs</b> $1.99.</p>
ここでは、1.0または2.0のいずれかでXSLTを使用してこれを解決する方法に疑問があります。
1)私はhttps://maulikdhorajia.blogspot.in/2011/06/removing-html-tags-using-xslt.html
この例を見てきました。しかし、私が存在することのpタグを必要としているため、私は同様の方法で、我々は文字列の前にマッチ機能を使用regex.Canを使用して行う必要がありますこの機能はxpathにはないと思います。
2)これは文字列を期待しているので置換機能を使用できないことを理解しています。ノードを渡すと内容を抽出して関数に渡します。この場合、タグを削除する目的はありません。
私はこの答えのように少し混乱していましたが、置き換えはhttps://stackoverflow.com/a/18528749/745018でした。
3)xsltを使用してnginxサーバーでこれを実行しています。
RSSフィードのbodyタグに入力するサンプルを以下に示します。
<p>The Supreme Court issued on Friday a bailable warrant against sitting Calcutta high court justice CS Karnan, an unprecedented order in a bitter confrontation between the judge and the top court.</p><p>A seven-judge bench headed by Chief Justice of India JS Khehar issued the order directing Karnan’s presence on <h2>March 31</h2> because the judge ignored an earlier court order summoning him.<i>Justice Karnan</i> had to appear</p>
アップデート:また、私はあなたが、あなたはbody
要素の内容にデビッド・カーライルのHTMLパーサ(https://github.com/davidcarlisle/web-xslt/blob/master/htmlparse/htmlparse.xsl)を適用し、処理できるXSLT 2.0を使用することができると仮定すると、この
最小限で完全なXML入力のサンプルと、それに対応する結果をご記入ください。 RSSフィード内のHTMLがマークアップやテキスト(CDATAセクションの内側)として含まれているかどうかを確認する必要があります。また、HTMLをXMLとして、またはHTMLとしてのみ解析できるかどうかを知る必要があります。 –
@MartinHonnenサンプル入力を更新しました.pタグ以外のHTMLタグなしで返されるcdata内のコンテンツが必要です。 – crackerplace