在 c# 的 XML 文件中添加一个带有子节点的新元素
Add a new element with node childs in a XML file in c#
我有一个 xml 是这样的:
<Servers>
<MyNewServer>
<Host>10.10.10.2</Host>
<Port>12</Port>
<User>MyUser</User>
<Password>NkbgKnF9g96EYgxG3qRdCNY2KR6Xd5+0uqpY9KOCl4k=</Password>
</MyNewServer>
</Servers>
我正在尝试在 "NyNewServer" 标签下方添加一个新服务器,并在空白处添加相同的子元素(主机、端口、用户和密码)。
我正在添加一个新的服务器元素,但格式不正确,显示为水平而不是垂直,我不确定如何在空白处添加子元素。
有什么想法吗?我有这个:
public void XmlNewInterface(string Server)
{
//Temporal Solution
xmldoc.Load(XMLInterfacesFile);
XmlElement record = xmldoc.CreateElement(Server);
record.InnerText = Guid.NewGuid().ToString();
xmldoc.DocumentElement.AppendChild(record);
xmldoc.Save(XMLInterfacesFile);
}
谢谢
我更喜欢 Linq
而不是 Xml
,它简化了 building/constructing Xml。你只需要这些行。
var doc = XDocument.load(inputfile);
doc.Descendants("Servers").First()
.Add( new XElement("OneMoreServer", new [] {
new XElement("Host"),
new XElement("Port"),
new XElement("MyUser"),
new XElement("Password")
}));
输出
<Servers>
<MyNewServer>
<Host>10.10.10.2</Host>
<Port>12</Port>
<User>MyUser</User>
<Password>NkbgKnF9g96EYgxG3qRdCNY2KR6Xd5+0uqpY9KOCl4k=</Password>
</MyNewServer>
<OneMoreServer>
<Host />
<Port />
<MyUser />
<Password />
</OneMoreServer>
</Servers>
工作Demo
我有一个 xml 是这样的:
<Servers>
<MyNewServer>
<Host>10.10.10.2</Host>
<Port>12</Port>
<User>MyUser</User>
<Password>NkbgKnF9g96EYgxG3qRdCNY2KR6Xd5+0uqpY9KOCl4k=</Password>
</MyNewServer>
</Servers>
我正在尝试在 "NyNewServer" 标签下方添加一个新服务器,并在空白处添加相同的子元素(主机、端口、用户和密码)。
我正在添加一个新的服务器元素,但格式不正确,显示为水平而不是垂直,我不确定如何在空白处添加子元素。
有什么想法吗?我有这个:
public void XmlNewInterface(string Server)
{
//Temporal Solution
xmldoc.Load(XMLInterfacesFile);
XmlElement record = xmldoc.CreateElement(Server);
record.InnerText = Guid.NewGuid().ToString();
xmldoc.DocumentElement.AppendChild(record);
xmldoc.Save(XMLInterfacesFile);
}
谢谢
我更喜欢 Linq
而不是 Xml
,它简化了 building/constructing Xml。你只需要这些行。
var doc = XDocument.load(inputfile);
doc.Descendants("Servers").First()
.Add( new XElement("OneMoreServer", new [] {
new XElement("Host"),
new XElement("Port"),
new XElement("MyUser"),
new XElement("Password")
}));
输出
<Servers>
<MyNewServer>
<Host>10.10.10.2</Host>
<Port>12</Port>
<User>MyUser</User>
<Password>NkbgKnF9g96EYgxG3qRdCNY2KR6Xd5+0uqpY9KOCl4k=</Password>
</MyNewServer>
<OneMoreServer>
<Host />
<Port />
<MyUser />
<Password />
</OneMoreServer>
</Servers>
工作Demo