C# LINQ TO XML - Remove “[]” characters from the DTD header

http://stackoverflow.com/questions/12358061/c-sharp-linq-to-xml-remove-characters-from-the-dtd-header

        public static void FixDocumentType(this XmlDocument xml)
        {
            if (xml?.DocumentType == null)
                return;
            var name = xml.DocumentType.Name;
            var publicId = xml.DocumentType.PublicId;
            var systemId = xml.DocumentType.SystemId;
            var parent = xml.DocumentType.ParentNode;
            var documentTypeWithNullInternalSubset = xml.CreateDocumentType(name, publicId, systemId, null);
            if (parent == null || xml.DocumentType == null)
                return;
            parent.ReplaceChild(documentTypeWithNullInternalSubset, xml.DocumentType);
        }

  

posted on 2017-04-19 08:58  油纸伞  阅读(381)  评论(0编辑  收藏  举报