次の HTML フラグメントを考えてみましょう (_
は空白に使用されます)。
<head>
...
<link ... ___/>
<!-- ... -->
...
</head>
Html Agility Pack (HAP) を使用して、HTML ファイル/フラグメントを読み取り、リンクを削除しています。私がやりたいことは、LINK
(および他のいくつかの)要素を見つけて、次のように空白に置き換えることです。
<head>
...
____________
<!-- ... -->
...
</head>
解析部分はこれまでのところ機能しているようです。探しているノードを取得しています。ただし、HAP は HTML コンテンツを修正しようとしますが、私が行おうとしている変更を除いて、すべてをまったく同じにする必要があります。さらに、HAP には、以前に読み込まれたコンテンツを書き戻す際にかなりの数のバグがあるようです。そのため、HAP に入力を解析させてから、元の入力に戻ってコンテンツを置き換えるというアプローチを採用したいと考えています。したくない。
問題は、HtmlNode
入力の長さのプロパティがないように見えることです。入力内でノードのコンテンツの読み取りが開始された場所を示してStreamPosition
いるようですが、ノードを構築するために消費された文字数を示す長さプロパティが見つかりませんでした。
プロパティを使用してOuterHtml
みましたが、残念ながら、HAP はパーツLINK
を削除して修正しようとします___/
(LINK
要素は閉じられていません)。このためOuterHtml.Length
、間違った長さを返します。
HAP でこの情報を取得する方法はありますか?