天天看點

C# xml檔案讀取節點寫入資料

<enums>

  <catagory id="SalesOrderType">

    <value description="訂單">0</value>

    <value description="退貨單">1</value>

  </catagory>

  <catagory id="SalesOrderStatus">

    <value description="已拆分">-30</value>

    <value description="已合并">-20</value>

    <value description="已撤銷">-10</value>

    <value description="未确認">0</value>

    <value description="已确認">10</value>

    <value description="已稽核">20</value>

    <value description="已列印">30</value>

    <value description="已取貨">40</value>

    <value description="已驗貨">50</value>

    <value description="已包裝">60</value>

    <value description="已發貨">70</value>

    <value description="已核銷">80</value>

  </catagory>

 </enums>     

XmlDocument xmldoc = new XmlDocument();

                //xmldoc.Load(Directory.GetCurrentDirectory() + "\\enums.xml"); //Debug調試 

                xmldoc.Load(Path.Combine(Application.StartupPath,"enums.xml"));           

                XmlNodeList topM = xmldoc.DocumentElement.ChildNodes;   //得到頂層節點清單

                foreach (XmlElement element in topM)

                {

                    if (element.Name.ToLower() == "catagory")

                    {

                        string catagory = element.Attributes["id"].Value;

                        XmlNodeList nodelist = element.ChildNodes;  //得到該節點的子節點

                        if (nodelist.Count > 0)

                        {

                            foreach (XmlElement el in nodelist) //讀元素值

                            {                                                              

                                int keyint =int.Parse(el.InnerText);

                                string value= el.Attributes["description"].Value;

                                tenum=new Tenum(catagory,keyint,value);

                                //插入資料

                            }

                        }

                    }

                }