[C#]建立XML文件

 實作:

需求:要組成一個如下圖,包含有「version」,「encoding」,「DOCTPYE」等資訊的XML文件。

1.建立一個 XML Build 來組成 XML文件

 public class XMLBuild
    {
        private XmlDocument _xmlDoc { get; set; }
        public XMLBuild()
        {
            _xmlDoc = new XmlDocument();
        }
        /// <summary>
        ///  將XML 文件 儲存至 指定路徑
        /// </summary>
        /// <param name="path"></param>
        public void Save(string path)
        {
            if(string.IsNullOrWhiteSpace(path))
            {
                return;
            }
            _xmlDoc.Save(path);
        }
        /// <summary>
        /// 將XML 文件 儲存至 指定串流
        /// </summary>
        /// <param name="stream"></param>
        /// <returns></returns>
        public MemoryStream Save(MemoryStream stream)
        {
            _xmlDoc.Save(stream);
            return stream;
        }
        /// <summary>
        /// 建立具有指定值的 XmlDeclaration 節點
        /// </summary>
        /// <param name="version"></param>
        /// <param name="encoding"></param>
        /// <param name="standalone"></param>
        public void CreateXmlDeclaration(string version, string encoding, string standalone)
        {
            XmlDeclaration xmlDeclaration = _xmlDoc.CreateXmlDeclaration(version, encoding, standalone);
            _xmlDoc.AppendChild(xmlDeclaration);
        }
        /// <summary>
        /// 建立 DocumentType
        /// </summary>
        /// <param name="name"></param>
        /// <param name="publicId"></param>
        /// <param name="systemId"></param>
        /// <param name="internalSubset"></param>
        public void CreateDocumentType(string name, string publicId, string systemId, string internalSubset)
        {
            var doctype = _xmlDoc.CreateDocumentType(name, publicId, systemId, internalSubset);
            _xmlDoc.AppendChild(doctype);
        }
        /// <summary>
        /// 將指定的節點加入在XML文件底下
        /// </summary>
        /// <param name="element"></param>
        public void AddRootElement(XmlElement element)
        {
            _xmlDoc.AppendChild(element);
        }
        /// <summary>
        /// 建立具有指定名稱的項目
        /// </summary>
        /// <param name="name"></param>
        /// <param name="innerText"></param>
        /// <returns></returns>
        public XmlElement CreateElement(string name, string innerText)
        {
            var element = _xmlDoc.CreateElement(name);
            if (innerText != null)
            {
                element.InnerText = innerText;
            }
            return element;
        }

    }  

2.寫入資訊組成XML




留言

這個網誌中的熱門文章

[Visual Studio]位於網際網路或是限制區域上 或是檔案上標有 web 字樣 所以無法處理該檔案。若希望處理這些檔案 請移除 web 字樣。

[IIS] IIS執行時,發生拒絕存取路徑 問題

[windows] xcopy 備份至 「網路磁碟機」