[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;
        }
    }  
留言
張貼留言