Как мне записать XML-строку в файл?

У меня есть строка, и ее значение:

<ROOT>
    qwerty
    <SampleElement>adsf</SampleElement> 
    <SampleElement2>The text of the sample element2</SampleElement2> 
</ROOT>

Как я могу записать эту строку в файл с помощью C# 3.0?

Заранее спасибо.

Ответов (4)

File.WriteAllText("myFile.xml",myString);

Вам нужно будет использовать раздел CDATA . Более конкретно, создайте XmlCDataSection using XmlDocument.CreateCDataSection и укажите свою строку в качестве параметра.

Попробуй это:

string s = "<xml><foo></foo></xml>";
XmlDocument xdoc = new XmlDocument();
xdoc.LoadXml(s);
xdoc.Save("myfilename.xml");

Имеет дополнительное преимущество, заключающееся в том, что загрузка не удастся, если ваш XML недействителен.

Я знаю, что вы сказали C#, но пробовали ли вы VB.NET для XML-литералов. Удивительные вещи.

Public Class Program
    Public Shared Sub Main()
        Dim myKeyBoardStyle = "dvorak"

        Dim myXML As XElement = <ROOT>
                                qwerty
                                <altKeyboard><%= myKeyBoardStyle.ToUpper() %></altKeyboard>
                                    <SampleElement>adsf</SampleElement>
                                    <SampleElement2>The text of the sample element2</SampleElement2>
                                </ROOT>

        Console.WriteLine(myXML.ToString())

        myXML.Save(".\fileFromXElement.xml")
    End Sub
End Class

Обратите внимание на аккуратный элемент, который вводит результат кода в вывод:

<?xml version="1.0" encoding="utf-8"?>
<ROOT>
                                qwerty
                                <altKeyboard>DVORAK</altKeyboard><SampleElement>adsf</SampleElement><SampleElement2>The text of the sample element2</SampleElement2></ROOT>

snip [удаленные мнения]