@@ -91,7 +91,7 @@ internal class _XMLElement {
9191 throw EncodingError . invalidValue ( object, EncodingError . Context ( codingPath: [ ] , debugDescription: " Top-level encoded as non-root XML fragment. " ) )
9292 }
9393
94- return element. toXMLString ( with: header, withCDATA: options. stringEncodingStrategy != . deferredToString ) . data ( using: . utf8, allowLossyConversion: true ) !
94+ return element. toXMLString ( with: header, withCDATA: options. stringEncodingStrategy == . cdata , ignoreEscaping : options . stringEncodingStrategy == . none ) . data ( using: . utf8, allowLossyConversion: true ) !
9595 }
9696
9797 fileprivate static func createElement( parentElement: _XMLElement ? , key: String , object: [ String : Container ] ) {
@@ -196,13 +196,13 @@ internal class _XMLElement {
196196
197197 func toXMLString( with header: XMLHeader ? = nil , withCDATA cdata: Bool , ignoreEscaping: Bool = false ) -> String {
198198 if let header = header, let headerXML = header. toXML ( ) {
199- return headerXML + _toXMLString( withCDATA: cdata)
199+ return headerXML + _toXMLString( withCDATA: cdata, ignoreEscaping : ignoreEscaping )
200200 } else {
201- return _toXMLString ( withCDATA: cdata)
201+ return _toXMLString ( withCDATA: cdata, ignoreEscaping : ignoreEscaping )
202202 }
203203 }
204204
205- fileprivate func _toXMLString( indented level: Int = 0 , withCDATA cdata: Bool , ignoreEscaping: Bool = false ) -> String {
205+ fileprivate func _toXMLString( indented level: Int = 0 , withCDATA cdata: Bool , ignoreEscaping: Bool ) -> String {
206206 var string = String ( repeating: " " , count: level * 4 )
207207 string += " < \( key) "
208208
@@ -223,7 +223,7 @@ internal class _XMLElement {
223223
224224 for childElement in children {
225225 for child in childElement. value {
226- string += child. _toXMLString ( indented: level + 1 , withCDATA: cdata)
226+ string += child. _toXMLString ( indented: level + 1 , withCDATA: cdata, ignoreEscaping : ignoreEscaping )
227227 string += " \n "
228228 }
229229 }
0 commit comments