[英]add elements multiple values in XDocument C#
我想添加一个带有名为属性的标签名称的部分,并具有一个名为属性的项目值,该属性具有多个值,例如节点名称,值
org xml文件是这样的
<testsuites>
<testsuite>
blah blah
</testsuite>
</testsuites>
添加后,我希望它像这样显示
<testsuites>
<testsuite>
<properties>
<property name="name" "value"="desirevalue"/>
</properties>
blah blah
</testsuite>
</testsuites>
我编写的代码存在一些问题,它实际上创建了两行属性,但是我希望它们作为一行。 我应该如何更新我的代码? 似乎最后两行也有问题。 我收到“对象引用未设置为对象实例”的错误
XDocument doc = XDocument.Load(fileOfReportInXML);
XElement root= new XElement("properties");
root.Add(new XElement("property", "name= node"));
root.Add(new XElement("property","value=desirevalue"));
doc.Element("testsuite").Add(root);
doc.Save(fileOfReportInXML);
尝试以下代码:
//Load XML file
XDocument doc = XDocument.Load(fileOfReportInXML);
编辑:将元素添加到xdocument的第一个元素
doc.Root.Elements("testsuite").First().Add(new XElement("properties", new XElement("property", new XAttribute("name", "name"), new XAttribute("value", "desirevalue"))));
如果要向所有testsuite元素添加新元素:
foreach (var element in doc.Root.Elements("testsuite"))
{
//Skip adding element if element already exists
if (element.HasElements && element.Element("properties") != null) continue;
element.Add(new XElement("properties", new XElement("property", new XAttribute("name", "name"), new XAttribute("value", "desirevalue"))));
}
保存XML文档
//Save XML file
doc.Save(fileOfReportInXML);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.