AngleSharp by AngleSharp

<PackageReference Include="AngleSharp" Version="0.9.11" />

 XmlDocument

Represents a document node that contains only XML nodes.
using AngleSharp.Dom.Events; using AngleSharp.Extensions; using AngleSharp.Network; using AngleSharp.Parser.Xml; using System; using System.Threading; using System.Threading.Tasks; namespace AngleSharp.Dom.Xml { internal sealed class XmlDocument : Document, IXmlDocument, IDocument, INode, IEventTarget, IMarkupFormattable, IParentNode, IGlobalEventHandlers, IDocumentStyle, INonElementParentNode, IDisposable { public override IElement DocumentElement => this.FindChild<IElement>(); internal XmlDocument(IBrowsingContext context, TextSource source) : base(context ?? BrowsingContext.New(null), source) { base.ContentType = MimeTypeNames.Xml; } internal XmlDocument(IBrowsingContext context = null) : this(context, new TextSource(string.Empty)) { } public override INode Clone(bool deep = true) { XmlDocument xmlDocument = new XmlDocument(base.Context, new TextSource(base.Source.Text)); CloneDocument(xmlDocument, deep); return xmlDocument; } internal static async Task<IDocument> LoadAsync(IBrowsingContext context, CreateDocumentOptions options, CancellationToken cancelToken) { XmlDocument document = new XmlDocument(context, options.Source); XmlDomBuilder xmlDomBuilder = new XmlDomBuilder(document, null); document.Setup(options); context.NavigateTo(document); context.Fire(new HtmlParseEvent(document, false)); await xmlDomBuilder.ParseAsync(default(XmlParserOptions), cancelToken).ConfigureAwait(false); context.Fire(new HtmlParseEvent(document, true)); return document; } protected override void SetTitle(string value) { } } }