2013-09-19 6 views
-3

У меня есть XML, какДобавление элемента в XML

<SystemSettings version="1"> 
    <SettingsGroup name="items"> 
    <Setting name="value1">10</Setting> 
    </SettingsGroup> 
<SettingsGroup name="item2"> 
    <Setting name="value2">1</Setting> 
</SettingsGroup> 
</SystemSettings> 

Я хочу добавить

<Setting name="value3">5</Setting> 

в item2. как я могу добавить это? Пробовал с помощью XElement, но не мог сделать это

+3

Вы начинаете, добавив пример кода на ваш вопрос - проверить http://sscce.org для деталей. (Чтение MSDN при работе с XML может быть другой отправной точкой). –

+1

В дополнение к тому, что сказал Алексей, я бы предложил разместить ваш код, который вы пробовали с XElement, и кто-то, вероятно, поможет решить проблемы с вашим кодом или предложить альтернативы. – ryadavilli

ответ

2

Это работает для меня:

xdocument 
    .Descendants("SettingsGroup") 
    .Where(x => x.Attribute("name").Value == "item2") 
    .First() 
    .Add(new XElement("Setting", new XAttribute("name", "value3"), 5)); 
0
string filename = "test.xml"; 
    XmlDocument doc = new XmlDocument(); 
    doc.Load(filename); 

    XmlElement element = doc.CreateElement("Setting"); 
    element.SetAttribute("name", "value3"); 
    element.InnerText = "5"; 

    doc.DocumentElement.ChildNodes[1].AppendChild(element); 
    doc.Save(filename); 
+0

Можем ли мы удалить hardcoded childNodes [1]? случайно и поиск по имени = "item2" ?? – user1687824

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