2016-08-09 71 views
0

刪除標籤New,如果下一個標籤是<b>C#的LINQ to XML,刪除基於一個標籤的標籤名

這裏是我的xml文件

<tag> 
    <New>some content</New> 
    <b> bold </b> 
    <New> content two </New> 
    <p> p tag </p> 
</tag> 

輸出是其內容

<tag> 
    <b> bold </b> 
    <New> content two </New> 
    <p> p tag </p> 
</tag> 

這裏是我的代碼

XElement rootImg = XElement.Parse(xml string variable); 

IEnumerable<XElement> img = 
    from el in rootImg.Descendants("New").ToList() 
    select el; 

foreach (XElement el in img) 
{ 
    //what am i going to do here? 
} 

回答

2
foreach (XElement el in img.ToArray()) 
{ 
    var afterElement = el.NodesAfterSelf().FirstOrDefault() as XElement; 
    if (afterElement != null && afterElement.Name == "b") 
    { 
     el.Remove(); 
    } 
} 
+0

對不起,作爲noob。但我如何使用你的代碼? – codequery18

+0

將它添加到你的foreach – Raskayu