如何将XML字符串写入文件?

时间:2009-02-26 14:59:15

标签: c# xml .net-3.0

我有一个字符串,其值为:

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

如何使用C#3.0将此字符串写入文件?

提前致谢。

4 个答案:

答案 0 :(得分:50)

试试这个:

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

如果您的XML无效,还有额外的好处是加载会失败。

答案 1 :(得分:18)

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

答案 2 :(得分:0)

您必须使用CDATA section。更具体地说,使用XmlCDataSection创建XmlDocument.CreateCDataSection并将您的字符串作为参数提供。

答案 3 :(得分:-4)

我知道你说过C#,但你是否尝试过VB.NET for XML Literals。惊人的东西。

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 [删除意见]