【发布时间】:2018-05-04 21:53:52
【问题描述】:
我是 WPF 新手,正在尝试将子节点写入 XML 文件。这是文件...
<?xml version="1.0" encoding="utf-8"?>
<Sequences>
<LastSavedSequence name="Last Saved Sequence">
<Test name="Measure Battery Current(Stim)" testNumber="5" Vbat="3.7" Frequency="20" PulseWidth="500" Amplitude="1" Resistance="1600" Anode="1" Cathode="2" ActiveDischarge=""/>
<Test name="Measure Batther Current(No Stim)" testNumber="6" Vbat="2.9" Frequency="20" PulseWidth="500" Amplitude="1" Resistance="1600" Anode="1" Cathode="2" ActiveDischarge=""/>
</LastSavedSequence>
<ScottTestSequence name="Scott Test Sequence">
<Test name="VMO Status" testNumber="4" Vbat="3.7" Frequency="20" PulseWidth="1000" Amplitude="6" Resistance="3000" Anode="1" Cathode="2" ActiveDischarge=""/>
<Test name="Measure Battery Current(Stim)" testNumber="5" Vbat="3.7" Frequency="20" PulseWidth="500" Amplitude="1" Resistance="1600" Anode="1" Cathode="2" ActiveDischarge=""/>
<Test name="Measure Batther Current(No Stim)" testNumber="6" Vbat="2.9" Frequency="20" PulseWidth="500" Amplitude="1" Resistance="1600" Anode="1" Cathode="2" ActiveDischarge=""/>
</ScottTestSequence>
</Sequences>
我正在尝试创建一个 XML 子块以进入 .我使用了 stringBuilder,然后尝试执行附加子项,然后执行 .save。 XMLData2 是一个全局列表,其中包含我在每个列表中获得的子元素。这是我的代码...
public static List<System.Xml.XmlNode> xmlData2 = new List<System.Xml.XmlNode>();
XmlDocument xmlFromOutSideSequenceFile = new XmlDocument();
xmlFromOutSideSequenceFile.Load("c:\\Users/StarkS02/Documents/SavedSequenceFile.xml");
StringBuilder exampleNode = new StringBuilder();
exampleNode.Append("<");
exampleNode.Append(tbSequenceName.Text.ToString().Replace(" ", ""));
exampleNode.Append(" name=");
exampleNode.Append("'");
exampleNode.Append(tbSequenceName.Text);
exampleNode.Append("'");
exampleNode.Append(">");
foreach (XmlNode node in xmlData2)
{
XmlElement child = xmlFromOutSideSequenceFile.CreateElement(string.Empty, node.OuterXml, string.Empty);
exampleNode.Append("</");
exampleNode.Append(tbSequenceName.Text.ToString().Replace(" ", ""));
exampleNode.Append(">");
xmlFromOutSideSequenceFile.AppendChild(exampleNode);
xmlFromOutSideSequenceFile.Save("c:\\Users/StarkS02/Documents/SavedSequenceFile.xml");
我在 .appendChild 语句中遇到编译器错误,我无法将 stringBuilder 转换为 XML 节点。这是有道理的,但我不知道如何解决它。有任何想法吗?
【问题讨论】:
-
这里使用标签来查找我们可以回答的问题。这是一个 .NET XML 问题;它与WPF无关。而且“保存”标签也没有太大关系; not body 是“保存东西”方面的一般专家,在这里有用。请仅使用能够吸引了解您遇到的问题的人注意的标签。
-
为什么要将字符串元素转换为xml。只需使用 StreamWriter 将字符串写入文件。网络中的 Xml 方法只期望根中的单个元素被称为“格式良好”。当您在根目录中有多个元素时,您没有“格式良好”并且会出现错误。所以只需使用 StreamWriter 它将获取任何数据并写入文件。
标签: c# xml xmldocument