我正在嘗試構建一個自動測試分級應用程序,並且希望最終結果爲允許分級人員將新xml文件保存到任何位置的savefiledialog提示。使用C#中另一個XML文檔中的元素附加XML文檔
訣竅是我需要輸出xml以包含原答案+答案+最終成績的附加答案。這是我到目前爲止,但我得到一個錯誤。我不熟悉.appendchild(),所以我認爲這是我的問題所在。
private void cbOutput_Click(object sender, EventArgs e)
{
XmlNode rootTest = xmlAnswers.DocumentElement;
XmlNode rootKey = xmlAnswerKey.DocumentElement;
XmlNodeList nodeListTest = rootTest.SelectNodes("//answer");
foreach (XmlNode item in nodeListTest)
{
XmlNode importNode = rootTest.OwnerDocument.ImportNode(rootKey, true);
item.AppendChild(importNode);
}
SaveFileDialog savefiledialog1 = new SaveFileDialog();
saveFileDialog1.Filter = "XML Files|*.XML";
saveFileDialog1.Title = "Choose Location to Save Graded Test";
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
if (!string.IsNullOrEmpty(savefiledialog1.FileName))
using (Stream s = File.Open(savefiledialog1.FileName, FileMode.Create))
using (StreamWriter sw = new StreamWriter(s))
{
sw.Write(rootTest + tbTotal.Text);
}
}
可能的重複[錯誤:「要插入的節點來自不同的文檔上下文」](http://stackoverflow.com/questions/3019136/error-the-node-to-be-inserted-is- from-a-different-document-context) –
這有助於獲得該錯誤。現在,當我運行並通過測試時,我得不到輸出,這意味着文件不會保存在任何地方。我已經更新了我的代碼 –