我想知道这是否可能。
我有这样的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,它来自所见即所得,所以我几乎无法控制它。
我想要做的是在文档中搜索[READMORE],删除所有父标签(在本例中为 the<font>
和<p>
标签)并用 readmore 链接替换它们,同时将文档的 REST 包装在一个巨大的 `...文章的其余部分...
我很确定 HtmlAgilityPack 将帮助我实现这一目标,但我只是想弄清楚从哪里开始。
到目前为止,我很确定我必须使用htmlDoc.DocumentNode.SelectSingleNode(//p[text()="[READMORE]"])
或其他东西。我对 XPATH 不太熟悉。
对于我的文档,readmore 可能在嵌套标签中,也可能不在嵌套font
标签中。
此外,在某些情况下,它可能根本不在标签中,而是在文档根目录中。在这种情况下,我可以进行常规搜索和替换,它应该很简单。
我的理想情况是这样的(伪代码)
var node = SelectNodeContaining("[READMORE]").
node.Replace( "link here" );
node.RestOfDocument().Wrap("<div class='wrapper'");
我知道,我在做梦……但我希望这是有道理的。