2016-12-20 7 views
1

私はAngleSharpを使ってHTMLを解析しています。 今度はすべての画像の前に<BR>を挿入します。 だから私は次のようにします。DOM挿入前foreach-loop

var xx = document2.GetElementsByTagName("img");     
var document3 = parser.Parse(BodyCode); 
var br = document3.CreateElement("BR"); 
foreach (var pic in xx) 
    { 
    document3.Body.AppendChild(pic); 
    document3.Body.InsertBefore(br, pic); 
    } 

それは

<br><img></img><br><img></img><br><img></img> 

のようになります。しかし、actualy、それは私がこのループをデバッグする場合は、私が見ることができる

<img></img><img></img><br><img></img> 

のように見える、ことbrは、すべてimgより前に作成されますが、永続的なものではありません。

1. <br><img></img> 

2. <img></img><br><img></img> 

3. <img></img><img></img><br><img></img> 

私の間違いはどこですか? THX

+0

「document3.Body.AppendChild(br); document3.Body.AppendChild(pic); '? – ItsGreg

答えて

0

1つの改行を作成し、ループの繰り返しごとに移動するだけです。各インサートごとに新しいものを作成してください。

foreach (var pic in xx) 
{ 
    var br = document3.CreateElement("BR"); 
    document3.Body.AppendChild(pic); 
    document3.Body.InsertBefore(br, pic); 
} 
+0

この作品です。 THX –

関連する問題