for(int sp_range = int.Parse(myParser.GetKey("SP_Range")); sp_range < int.Parse(myParser.GetKey ("EP_Range")); sp_range++)
{
cboPort.Items.Add(sp_range.ToString());
main.XPathSelectElement("//ip_addresses").SetAttributeValue("id", sp_range.ToString());
main.Save(xmlpath);
}
我循环遍历一个设定的数字范围,因为我正在循环,我正在递增一个迭代器我希望迭代器1到59的值在我的xml文档中作为id值添加它保存id值但是只添加一个名为ip_addresses的元素而不是添加到所有ip_addresses子元素,它只将它添加到一个迭代器的最后一个计数值为59所以我使用正确的Xpath获取命名元素ip_addresses的所有子元素但是它只访问父的第一个子元素Row。
答案 0 :(得分:1)
for (int sp_range = int.Parse(myParser.GetKey("SP_Range")); sp_range < int.Parse(myParser.GetKey("EP_Range")); sp_range++)
{
cboPort.Items.Add(sp_range.ToString()); //Adds the load of values
foreach (XElement xml in main.XPathSelectElements("/Row/ip_addresses"))
{
xml.SetAttributeValue("id", sp_range++);//You have to re-iterate for the set# Nodes
}
}
main.Save(xmlpath);
如果你需要知道如何做到这一点我觉得这很棒,