2012-02-09 11 views
0

私は基本的なhtmlのxelementを持っています。私は段落タグであるすべての要素をすばやくループして、スタイル属性を設定したり追加したいと考えています。私は以下のことをしていますが、マスターxelementを変更していません。どのように私はこの作品を作ることができますか?XElementの変更は、どのように属性を編集しますか?

XElement ele = XElement.Parse(body); 
    foreach (XElement pot in ele.DescendantsAndSelf("p")) 
    { 
     if (pot.Attribute("style") != null) 
     { 
      pot.SetAttributeValue("style", pot.Attribute("style").Value + " margin: 0px;"); 
     } 
     else 
     { 
      pot.SetAttributeValue("style", "margin: 0px;"); 
     } 
    } 

答えて

5

だけValueプロパティを使用する - あなたは検索だけでなく、それに属性値を設定することができます。専用属性を追加すると、もう少し仕事です - あなたはAdd()メソッドを使用してXAttributeのインスタンスを渡します

if (pot.Attribute("style") != null) 
{ 
    pot.Attribute("style").Value = pot.Attribute("style").Value + " margin: 0px;"; 
} 
else 
{ 
    pot.Add(new XAttribute("style", "margin: 0px;")); 
} 

あなたは実際編集HTML(私も誤解されるかもしれない)しているようにかかわらず、それが見えます - という点で、場合は、ブラウザで正常に動作するほとんどのHTMLは有効なXMLではないことに注意してください - あなたはその場合、HTMLのパーサーを使用する必要がありますHtmlAgilityPackこれはこれではるかに良い仕事をするでしょう。

関連する問題