public void XElementSave_SaveOptions()
        {
            string markup = "<e a=\"value\"> <e2 /> </e>";

            using (TempFile temp = TempFile.Create())
            {
                XElement e = XElement.Parse(markup, LoadOptions.PreserveWhitespace);
                e.Save(temp.Path, SaveOptions.DisableFormatting);

                temp.AssertExists();
                Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + markup, temp.ReadAllText());
            }
        }
        public void XDocumentSave()
        {
            string markup = "<e> <e2 /> </e>";

            using (TempFile temp = TempFile.Create())
            {
                XDocument d = XDocument.Parse(markup, LoadOptions.PreserveWhitespace);
                d.Save(temp.Path);

                temp.AssertExists();
                Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + markup, NormalizeNewLines(temp.ReadAllText()));
            }
        }
        public void XStreamingElementSave_SaveOptions()
        {
            string markup = "<e a=\"value\"> <!--comment--> <e2> <![CDATA[cdata]]> </e2> <?pi target?> </e>";

            using (TempFile temp = TempFile.Create())
            {
                XElement          e  = XElement.Parse(markup, LoadOptions.PreserveWhitespace);
                XStreamingElement e2 = new XStreamingElement(e.Name, e.Attributes(), e.Nodes());
                e2.Save(temp.Path, SaveOptions.DisableFormatting);

                temp.AssertExists();
                Assert.Equal("<?xml version=\"1.0\" encoding=\"utf-8\"?>" + markup, temp.ReadAllText());
            }
        }
        private static string SerializeXElementSaveToFile(XNode node)
        {
            string result;

            using (TempFile temp = TempFile.Create())
            {
                ((XElement)node).Save(temp.Path);
                using (TextReader tr = new StreamReader(temp.Path))
                {
                    result = StripOffXmlDeclaration(tr.ReadToEnd());
                }

                temp.AssertExists();
            }
            return(result);
        }