2.VS編寫XML實例程序


在VS中編寫XML實例程序

1、如下,在 VS 中分別新建  XML 文件、XML 解析類、XML 實體類

2、在項目中代碼,如下

(1)XML 文件(注:在 VS 解決方案資源管理器中選中 XML 文件,點擊屬性將【復制到輸出目錄】中的“不復制”改為“如果較新則更新”)

<ProjectDialogsInfo>                                        
  <Dialog language="CN">
    <Speak>英雄</Speak>
    <Content>這是哪里?</Content>
  </Dialog>

  <Dialog language="CN">
    <Speak>NPC</Speak>
    <Content>你好,歡迎來到亞特蘭蒂斯地下城!</Content>
  </Dialog>

  <Dialog language="CN">
    <Speak>英雄</Speak>
    <Content>你好,我是XML演示文件!</Content>
  </Dialog>
</ProjectDialogsInfo>

 

(2)XML 實體類

/***
 * 
 *  實體類:對話信息 
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace XMLDemo1
{
    class Dialogs
    {
        //語言
        public string Language { set; get; }
        //編號
        public int Number { set; get; }
        //說話人
        public string Speaker { set; get; }
        //對話內容
        public string SpeakContent { set; get; }
    }//class_end
}

 

(3)XML 解析程序

/***
 * 
 *  XML 解析程序
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using System.Xml;                                           //XML 命名空間
using System.IO;                                            //文件輸入輸出流

namespace XMLDemo1
{
    class XMLAnalysis
    {
        List<Dialogs> _LiDialogsArray;                      //存放集合

        public XMLAnalysis()
        {
            _LiDialogsArray = new List<Dialogs>();
        }

        /// <summary>
        /// 解析XML
        /// </summary>
        public void AnalysisXML()
        {
            //XmlDocument:C#內置的XML解析方式
            XmlDocument doc = new XmlDocument();
            //加載 XML 文件
            doc.Load("XMLFile1.xml");
            //得到 XML 文件根節點
            XmlNode node = doc.FirstChild;
            //得到根節點后的節點集合
            XmlNodeList nodeArray = node.ChildNodes;

            foreach (XmlNode nodeItem in nodeArray)
            {
                //實例化實體類
                Dialogs diaObj = new Dialogs();
                //得到屬性信息(Attributes:包含節點屬性)
                diaObj.Language = nodeItem.Attributes[0].InnerText;
                //字符串num、Speaker、Content對應XML文件中的標簽
                diaObj.Number = Convert.ToInt32(nodeItem["num"].InnerText);
                diaObj.Speaker = nodeItem["Speaker"].InnerText;
                diaObj.SpeakContent = nodeItem["Content"].InnerText;
                //把單個實體對象加入集合
                _LiDialogsArray.Add(diaObj);
            }
        }

        /// <summary>
        /// 查看XML內容(需要先解析)
        /// </summary>
        public void DisplayXMLContent()
        {
            Console.WriteLine("顯示XML如下內容:");
            if (_LiDialogsArray!=null)
            {
                foreach (Dialogs diaItem in _LiDialogsArray)
                {
                    Console.WriteLine("語言:"+diaItem.Language);
                    Console.WriteLine("編號:" + diaItem.Number);
                    Console.WriteLine("說話人:" + diaItem.Speaker);
                    Console.WriteLine("對話內容:" + diaItem.SpeakContent);
                }
            }
        }
        static void Main(string[] args)
        {
            XMLAnalysis obj = new XMLAnalysis();
            //解析 XML
            obj.AnalysisXML();
            //顯示 XML 內容
            obj.DisplayXMLContent();
        }
    }//class_end
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM