1 回答

TA贡献1876条经验 获得超7个赞
您没有明显的原因就拥有嵌套循环……您要为每个元素多次设置属性,而不是为每个元素设置一次属性。
一旦摆脱了嵌套循环,就很简单了。但是,如果您将查询具体化为列表,则更为简单。这是产生所需输出的完整示例:
using System;
using System.Linq;
using System.Xml.Linq;
class Test
{
static void Main()
{
var xml = XDocument.Load("input.xml");
var parts = xml.Descendants("PART").ToList();
var models = xml.Descendants("PART").Elements("MODEL").ToList();
for (int i = 0; i < parts.Count; i++)
{
parts[i].Attribute("no").Value = $"xs{i+1}";
}
for (int i = 0; i < models.Count; i++)
{
models[i].Attribute("ver").Value = $"v-{i+1}";
}
xml.Save("output.xml");
}
}
- 1 回答
- 0 关注
- 164 浏览
添加回答
举报