2013-05-30 1 views
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()); 

    main.XPathSelectElement("//ip_addresses").SetAttributeValue("id", sp_range.ToString()); 

    main.Save(xmlpath); 
} 

Я циклически диапазоне набор чисел, так как я зацикливание, я приращением итератора я хочу значения итератора 1 до 59, которые будут добавлены в качестве значения идентификатора в моем документе xml он сохраняет значение id, но добавляет только один элемент с именем ip_addresses вместо добавления ко всем дочерним элементам ip_addresses, только добавляя его к одному и последнему значению отсчета итератора, который равен 59, поэтому я использую правильный Xpath, который получает все дочерние элементы именованного элемента ip_addresses, но его единственный доступ к первому дочернему элементу родителя, который Row.Использование XPath с XpathSelectElement в цикле

ответ

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); 

Это работает отличные ребята, если вы когда-нибудь нужно знать, как сделать это, я понял это в течение ночи

Смежные вопросы