簡體   English   中英

向XDocument中的元素添加元素

[英]Adding elements to elements in XDocument

我一直在編碼使用XML的數據庫程序。 每當程序啟動並且在指定路徑下找不到XML文件時,它都會生成以下內容:

<!--  Studnet Database  -->
<schoolDB>
    <Grades>
        <Grade10/>
        <Grade11/>
        <Grade12/>
    </Grades>
    <Employees/>
</schoolDB>

我想在程序中添加一個element稱為studentGrade*元素(用戶被提示從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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM