示例#1
0
        private async ValueTask <string> ReadStreamAsText(IXIncludeResource resource)
        {
            var stream = await resource.GetStream().ConfigureAwait(false);

            await using (stream.ConfigureAwait(false))
            {
                using var streamReader = new StreamReader(stream, GetEncoding(resource), detectEncodingFromByteOrderMarks: true);

                return(await streamReader.ReadToEndAsync().ConfigureAwait(false));
            }
        }
示例#2
0
        private static async ValueTask <string> ReadStreamAsXml(IXIncludeResource resource)
        {
            var stream = await resource.GetStream().ConfigureAwait(false);

            await using (stream.ConfigureAwait(false))
            {
                using var xmlReader = Create(stream);

                var stringBuilder = new StringBuilder();
                using (var xmlWriter = XmlWriter.Create(stringBuilder))
                {
                    while (await xmlReader.ReadAsync().ConfigureAwait(false))
                    {
                        xmlWriter.WriteNode(xmlReader, defattr: false);
                    }
                }

                return(stringBuilder.ToString());
            }
        }