我有一个问题我有这个XML文件作为我的配置文件
<?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>
如果文件中存在新元素,我需要先添加一个新元素,这样我的XML文件就像这样
<?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>
答案 0 :(得分:0)
使用此代码,此代码添加starmade_path
(如果不存在),这样您就可以检查并添加其他节点
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");
}
答案 1 :(得分:0)
试试这个。如果xelement中不存在,它将添加Red_theme。
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);
}