0
我一直在編碼使用XML的數據庫程序。每當程序啓動和未找到指定路徑的XML文件,它會產生這樣的:將元素添加到XDocument中的元素
<!-- Studnet Database -->
<schoolDB>
<Grades>
<Grade10/>
<Grade11/>
<Grade12/>
</Grades>
<Employees/>
</schoolDB>
我希望程序在Grade*
元素添加一個名爲element
student
(會提示用戶輸入等級從10到12,然後解析到10年級 - > 12年級)。我寫了這個:
XDocument doc = XDocument.Load(prog.dbFile);
doc.Element(toWriteGrade).Add(new XElement("student",
new XElement("name", name),
new XElement("age", age)));
doc.Save(prog.dbFile);
當我運行它,它給了我一個錯誤:
An unhandled exception of type 'System.NullReferenceException' occurred in StudentClone1.exe` Additional information: Object reference not set to an instance of an object.
這裏有什麼問題?
我以爲'Root'會把它寫到th e'schoolDB'元素,我想不是。感謝您的快速回復! – Ilan321
@ Ilan321 node.Element方法只是檢查節點的直接子節點。這就是爲什麼你不能找到成績元素 - 它不存在於doc直接的孩子(只有根元素可以在那裏找到) –
順便說一句我建議你使用一些'id'或'value'屬性來指定成績而不是改變名字的等級元素。即而不是''使用'