diff --git a/Assets/YooAsset/Editor/Assembly/MacroProcessor.cs b/Assets/YooAsset/Editor/Assembly/MacroProcessor.cs index 265fc1e6..989030ec 100644 --- a/Assets/YooAsset/Editor/Assembly/MacroProcessor.cs +++ b/Assets/YooAsset/Editor/Assembly/MacroProcessor.cs @@ -22,13 +22,22 @@ namespace YooAsset.Editor return content; // 将修改后的XML结构重新输出为文本 - var stringWriter = new StringWriter(); - var writerSettings = new XmlWriterSettings(); - writerSettings.Indent = true; - var xmlWriter = XmlWriter.Create(stringWriter, writerSettings); - xmlDoc.WriteTo(xmlWriter); - xmlWriter.Flush(); - return stringWriter.ToString(); + using (var memoryStream = new MemoryStream()) + { + var writerSettings = new XmlWriterSettings + { + Indent = true, + Encoding = Encoding.UTF8, + OmitXmlDeclaration = false + }; + + using (var streamWriter = new StreamWriter(memoryStream, Encoding.UTF8)) + using (var xmlWriter = XmlWriter.Create(streamWriter, writerSettings)) + { + xmlDoc.Save(xmlWriter); + } + return Encoding.UTF8.GetString(memoryStream.ToArray()); + } } ///