XDocument: saving XML to file without BOM

后端 未结 3 1255
眼角桃花
眼角桃花 2020-11-27 19:43

I\'m generating an utf-8 XML file using XDocument.

XDocument xml_document = new XDocument(
                    new XDeclaration(\"1.0\"         


        
3条回答
  •  难免孤独
    2020-11-27 20:06

    The most expedient way to get rid of the BOM character when using XDocument is to just save the document, then do a straight File read as a file, then write it back out. The File routines will strip the character out for you:

            XDocument xTasks = new XDocument();
            XElement xRoot = new XElement("tasklist",
                new XAttribute("timestamp",lastUpdated),
                new XElement("lasttask",lastTask)
            );
            ...
            xTasks.Add(xRoot);
            xTasks.Save("tasks.xml");
    
            // read it straight in, write it straight back out. Done.
            string[] lines = File.ReadAllLines("tasks.xml");
            File.WriteAllLines("tasks.xml",lines);
    

    (it's hoky, but it works for the sake of expediency - at least you'll have a well-formed file to upload to your online provider) ;)

提交回复
热议问题