我有一个XML文件,它包含各种<b>
标签。我想使用linq将所有<b>
重命名为<span class="ld_bold">
,但我只想重命名元素。我不想替换它的值。
我目前正在使用StringBuilder
,并使用foreach
逐行读取文件,这就是为什么<
和>
被转换为{{1} }和<
分别在使用>
加载文件时显示。
答案 0 :(得分:1)
您可以使用XDocument
来解析XML,.Descendants
可以找到所有 b
元素,然后根据需要进行操作,如下所示:
var xml = "<div><b>Hello</b><i><b>Goodbye</b></i></div>";
XDocument doc = XDocument.Parse(xml);
foreach (var item in doc.Descendants("b"))
{
item.Name = "span";
item.SetAttributeValue("class", "ld_bold");
}
Console.WriteLine(doc.ToString());