これが可能かどうか疑問に思っています。
私は次のようなhtmlを持っています:
<p>
<font face="Georgia">
<b>History</b><br> <br>Two of the polysaccharides used in the manufacture of...</font>
<a title="PubMed" href="http://www.www.gov/pubmed/" target="_blank">
<font face="Georgia">) and this web site for new development by...well as Self Affirmed Medical Food GRAS status.
</font>
</p>
<p>
<font face="Georgia">[READMORE]</font>
</p>
<p><font face="Georgia"><br><strong>Proprietary Composition</strong><br>
<br>The method in which soluble fibres are made into... REST OF ARTICLE...
</p>
はい、それは醜い html であり、WYSIWYG から来ているので、私はそれをほとんど制御できません。
私がやりたいことは、ドキュメント内で[READMORE]を検索し、親タグ (この場合は<font>
と<p>
タグ) を削除し、ドキュメントの REST を巨大な `... でラップしながら readmore リンクに置き換えます。残りの記事...
HtmlAgilityPack がその道のりの一部になると確信していますが、どこから始めればよいかを考えているところです。
htmlDoc.DocumentNode.SelectSingleNode(//p[text()="[READMORE]"])
これまでのところ、何かを使用する必要があると確信しています。私は XPATH にあまり詳しくありません。
font
私のドキュメントでは、readmore がネストされたタグにある場合とない場合があります。
また、場合によっては、タグではなく、ドキュメント ルートにあることもあります。その場合、通常の検索と置換を行うだけで、簡単なはずです。
私の理想的な状況は次のようなものです (PSEUDOCODE)
var node = SelectNodeContaining("[READMORE]").
node.Replace( "link here" );
node.RestOfDocument().Wrap("<div class='wrapper'");
夢を見ているのはわかっています...でも、これが理にかなっているといいのですが。