Мне интересно, возможно ли это?
У меня есть 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>
) и заменить ихсо ссылкой readmore во время упаковки REST документа в гигантскую `... остальную часть статьи ...
Я почти уверен, что HtmlAgilityPack поможет мне в этом, но япросто пытаюсь понять, с чего начать.
Пока я почти уверен, что должен использовать htmlDoc.DocumentNode.SelectSingleNode(//p[text()="[READMORE]"])
или что-то в этом роде.Я не слишком знаком с XPATH.
Для моих документов считыватель может находиться или не находиться во вложенном теге font
.
Кроме того, в некоторых случаях он может вообще не быть в теге, а скорее вкорень документа.Я могу просто выполнить обычный поиск и замену в этом случае, и это должно быть просто.
Моя идеальная ситуация была бы примерно такой (PSEUDOCODE)
var node = SelectNodeContaining("[READMORE]").
node.Replace( "link here" );
node.RestOfDocument().Wrap("<div class='wrapper'");
Я знаю, ямечтать ... но я надеюсь, что это имеет смысл.