[英]Adding elements to elements in XDocument
我一直在編碼使用XML的數據庫程序。 每當程序啟動並且在指定路徑下找不到XML文件時,它都會生成以下內容:
<!-- Studnet Database -->
<schoolDB>
<Grades>
<Grade10/>
<Grade11/>
<Grade12/>
</Grades>
<Employees/>
</schoolDB>
我想在程序中添加一個element
稱為student
在Grade*
元素(用戶被提示從10進入一年級到12,然后它分析到Grade10 - > Grade12)。 我這樣寫:
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);
當我運行它時,它給我一個錯誤:
StudentClone1.exe中發生了類型為'System.NullReferenceException'的未處理異常。其他信息:對象引用未設置為對象的實例。
怎么了
這意味着您沒有正確選擇成績元素:
doc.Element(toWriteGrade) // this returns null
因此,成績是“ Grades
元素的元素,您應該通過以下方式查詢它:
doc.Root.Element("Grades").Element(toWriteGrade)
或者(效率較低),您只能瀏覽文件中的所有元素:
doc.Descendants(toWriteGrade)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.