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 關注
- 176 瀏覽
添加回答
舉報