Skip to content

Commit 307fa23

Browse files
authored
Use XmlDOMTextWriter instead of XmlWriter.Create (#1961)
Closes #1869
1 parent a073d05 commit 307fa23

File tree

5 files changed

+14
-3
lines changed

5 files changed

+14
-3
lines changed

src/DocumentFormat.OpenXml.Framework/OpenXmlPartRootElement.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,7 @@ public void Save(Stream stream)
216216
var events = Features.Get<IPartRootEventsFeature>();
217217
events?.OnChange(EventType.Saving, OpenXmlPart);
218218

219-
using (var xmlWriter = XmlWriter.Create(stream, settings))
219+
using (var xmlWriter = new XmlDOMTextWriter(stream, settings))
220220
{
221221
if (_standaloneDeclaration is not null)
222222
{

src/DocumentFormat.OpenXml.Framework/Packaging/FlatOpcExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ private static void AddXmlPackagePart(XElement flatOpcPart, IPackage package)
206206
var part = CreatePackagePart(flatOpcPart, package);
207207

208208
using var stream = part.GetStream(FileMode.Create);
209-
using var xmlWriter = XmlWriter.Create(stream);
209+
using var xmlWriter = new XmlDOMTextWriter(stream);
210210

211211
XElement rootElement = flatOpcPart.Elements(Pkg + "xmlData").Elements().First();
212212
rootElement.WriteTo(xmlWriter);

src/DocumentFormat.OpenXml.Framework/Properties/Properties.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using System.Runtime.CompilerServices;
77

88
[assembly: InternalsVisibleTo("DocumentFormat.OpenXml, Publickey=002400000480000094000000060200000024000052534131000400000100010061d8931836c82bf25ca6b773dfd6e7b3ab4e43fba60cf4a86347170373415a165ccc40da3da4a52163822db9fa91f15828236d32d6a9fe754859f10d1f8262646c1f3fb6b4348123f14d733db0ff11c3198b7cf56caaebbf14563990446a6c32aff36d5a7097194294c127fe3cdf9f2609daae5f4daf26f8b6227f203d2a8bbf")]
9+
[assembly: InternalsVisibleTo("DocumentFormat.OpenXml.Linq, Publickey=002400000480000094000000060200000024000052534131000400000100010061d8931836c82bf25ca6b773dfd6e7b3ab4e43fba60cf4a86347170373415a165ccc40da3da4a52163822db9fa91f15828236d32d6a9fe754859f10d1f8262646c1f3fb6b4348123f14d733db0ff11c3198b7cf56caaebbf14563990446a6c32aff36d5a7097194294c127fe3cdf9f2609daae5f4daf26f8b6227f203d2a8bbf")]
910

1011
// For testing
1112
[assembly: InternalsVisibleTo("DocumentFormat.OpenXml.Tests, Publickey=002400000480000094000000060200000024000052534131000400000100010061d8931836c82bf25ca6b773dfd6e7b3ab4e43fba60cf4a86347170373415a165ccc40da3da4a52163822db9fa91f15828236d32d6a9fe754859f10d1f8262646c1f3fb6b4348123f14d733db0ff11c3198b7cf56caaebbf14563990446a6c32aff36d5a7097194294c127fe3cdf9f2609daae5f4daf26f8b6227f203d2a8bbf")]

src/DocumentFormat.OpenXml.Framework/XmlDOMTextWriter.cs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,16 @@ internal class XmlDOMTextWriter : XmlWriter
1111
{
1212
private readonly XmlWriter _writer;
1313

14+
public XmlDOMTextWriter(Stream stream)
15+
{
16+
_writer = Create(stream);
17+
}
18+
19+
public XmlDOMTextWriter(Stream stream, XmlWriterSettings settings)
20+
{
21+
_writer = Create(stream, settings);
22+
}
23+
1424
public XmlDOMTextWriter(TextWriter w)
1525
{
1626
var xwSettings = new XmlWriterSettings

src/DocumentFormat.OpenXml.Linq/Feature/OpenXmlPartRootXElementFeature.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ public bool Save()
138138
}
139139

140140
using (var stream = _part.GetStream(FileMode.Create, FileAccess.Write))
141-
using (var xmlWriter = XmlWriter.Create(stream))
141+
using (var xmlWriter = new XmlDOMTextWriter(stream))
142142
{
143143
_partXDocument.Save(xmlWriter);
144144
}

0 commit comments

Comments
 (0)