class CFPropertyList::ReXMLParser

def to_str(opts={})

opts = {}:: Specify options: :formatted - Use indention and line breaks
serialize CFPropertyList object to XML
def to_str(opts={})
  doc = REXML::Document.new
  @doc = doc
  doc.context[:attribute_quote] = :quote
  doc.add_element 'plist', {'version' => '1.0'}
  doc.root << opts[:root].to_xml(self)
  formatter = if opts[:formatted] then
    f = REXML::Formatters::Pretty.new(2)
    f.compact = true
    f.width = Float::INFINITY
    f
  else
    REXML::Formatters::Default.new
  end
  str = formatter.write(doc.root, "")
  str1 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE plist PUBLIC \"-//Apple//DTD PLIST 1.0//EN\" \"http://www.apple.com/DTDs/PropertyList-1.0.dtd\">\n" + str + "\n"
  str1.force_encoding('UTF-8') if str1.respond_to?(:force_encoding)
  return str1
end