我的XML中有多个标签,例如<b>
,<i>
,<u>
。因此,我想将每一个分别重命名为<span class="ld_bold">
,<span class="ld_italic">
和<span class="ld_underline">
。
当前,我正在使用foreach
进行此操作,但是我想使用LINQ
。
以下是我的方法:
foreach (var item in xdoc.Descendants("b"))
{
item.Name = "span";
item.SetAttributeValue("class", "ld_bold");
}
foreach (var item in xdoc.Descendants("i"))
{
item.Name = "span";
item.SetAttributeValue("class", "ld_italic");
}
foreach (var item in xdoc.Descendants("u"))
{
item.Name = "span";
item.SetAttributeValue("class", "ld_underline");
}
我想做类似的事情:
xdoc.Descendants().Where(el => el.InnerXml().Contains("<b>")).Select(x => x).ToList()
.ForEach(x => x.Name.LocalName.Equals("span") && x.SetAttributeValue("class", "ld_bold"));
在LINQ
中,我在ForEach
部分遇到了一个错误。