2016-05-15 12 views
0

Hallo ich ein Problem habe ich diese XML-Datei als meine Config-DateiErstellen ein neues XmlElement in C#

<?xml version="1.0" encoding="utf-8"?> 
<configs> 
    <config> 
    <starmade_path>null</starmade_path> 
    <gui_path>null</gui_path> 
    <first_start>true</first_start> 
    <dark_theme>false</dark_theme> 
    <light_theme>true</light_theme> 
    <OSM_theme>false</OSM_theme> 
    </config> 
</configs> 

Und ich brauche zuerst ein neues Element hinzuzufügen, wenn es in der Datei so meine XML-Datei vorhanden doesent sieht wie folgt aus diesen Code

<?xml version="1.0" encoding="utf-8"?> 
<configs> 
    <config> 
    <starmade_path>null</starmade_path> 
    <gui_path>null</gui_path> 
    <first_start>true</first_start> 
    <dark_theme>false</dark_theme> 
    <light_theme>true</light_theme> 
    <OSM_theme>false</OSM_theme> 
    <Red_theme>sampleText</Red_theme> 
    </config> 
</configs> 

Antwort

0

zu verwenden, fügen Sie diesen Code starmade_path falls nicht vorhanden, auf diese Weise Sie anderen Knoten überprüfen und fügen Sie können auch

  XDocument doc = XDocument.Load(@"D:\a.XML"); 
      XElement root = doc.Element("configs"); 
      XElement config = root.Element("config"); 
      XElement starmade_path = config.Element("starmade_path"); 

      if (starmade_path == null) 
      { 
       XElement n = new XElement("starmade_path"); 
       n.Value = "aljd"; 
       config.Add(n); 
       doc.Save(@"D:\a.XML"); 
      } 
+0

Dank, es funktioniert perfekt ^^ – Agronaut022

+0

Sie willkommen – Mostafiz

0

Versuchen Sie dies. Es fügt Red_theme hinzu, wenn es nicht in xelement existiert.

XDocument xml = XDocument.Load("yourfile"); 
     XElement configelement= xml.Descendants("config").First(); 
     XElement element = configelement.Elements().FirstOrDefault(x => x.Name== "Red_theme"); 
     if (element == null) 
     { 
      element = new XElement("Red_theme"); 
      element.Value = "sampletext"; 
      configelement.Add(element);   
     } 
+0

Funktioniert auch dank sind aswell ^^ – Agronaut022

+0

Ich glaube @ agronaut022 es tat. Prost. – riteshmeher

Verwandte Themen