ルート要素の下に子要素を追加したいが、最初の子要素にしたい。私の現在のXMLは、後のコードは、ルート要素としての性質を示している私はそれは私がやったこのXmlDocumentを使用してxmlに子要素を追加するC#
<?xml version="1.0" encoding="utf-8"?>
<testsuites>
<properties name ="namedata" value="valuedata">
</properties>
<testsuite name="classname" tests="9" failures="3" errors="6" time="2919" disabled="0" skipped="0">
<testcase name="Setup1" time="5" classname="classname">
</testcase>
<testcase name="Setup2" time="49" classname="classname">
</testcase>
<testcase name="Setup3" time="357" classname="classname">
</testcase>
</testsuite>
</testsuites>
ようになりたい、
XmlDocument report = new XmlDocument();
report.Load(fileOfReport);
XmlElement root = report.CreateElement("properties");
root.SetAttribute("property name", "namedata");
root.SetAttribute("value","valuedata");
var items = report.GetElementsByTagName("testsuite");
for(int i=0; i<items.Count; i++){
child.AppendChild(items[i]);
}
report.AppendChild(root);
report.Save(fileOfReport);
を要素を追加し、この
<?xml version="1.0" encoding="utf-8"?>
<testsuites>
<testsuite name="classname" tests="9" failures="3" errors="6" time="2919" disabled="0" skipped="0">
<testcase name="Setup1" time="5" classname="classname">
</testcase>
<testcase name="Setup2" time="49" classname="classname">
</testcase>
<testcase name="Setup3" time="357" classname="classname">
</testcase>
</testsuite>
</testsuites>
のようなものですこれはテストスイートを含みますが、実際にはテストスイートと並行して子エレメントとして欲しいです。どのように私はそれを再構築すべきですか?私だけではないxDocument
おかげ
属性名にはスペースを使用できません。それが '0x20'です。 'property name'を' propertyName'に変更してください。うまくいくはずです。 – MarcinJuraszek
まず、使用しているXMLを検証します。そしてそれに新しい子供を加えなさい。 –
ありがとう@MarcinJuraszek。あなたの答えは正しい。私はそれを修正する。しかし、別の問題があります。私はすでに質問を更新しています。ありがとうございました –