如何将此字符串保存到XML文件中?
我有这个字符串变量:
string xml = @" Patrick Hines 206-555-0144 425-555-0145 332-899-5678 123 Main St Mercer Island WA 68042 Dorothy Lee 910-555-1212 336-555-0123 336-555-0005 16 Friar Duck Ln Greensboro NC 27410 ";
如何将此字符串保存到驱动器c中的XML文件中? 使用c#。
事实上,它的XML基本上是无关紧要的。 使用File.WriteAllText
可以非常简单地将任何文本保存到文件中:
File.WriteAllText("foo.xml", xml);
请注意,您还可以指定编码,默认为UTF-8。 例如,如果要以纯ASCII编写文件:
File.WriteAllText("foo.xml", xml, Encoding.ASCII);
XmlDocument xdoc = new XmlDocument(); xdoc.LoadXml(yourXMLString); xdoc.Save("myfilename.xml");
如果您不需要对字符串进行任何处理(例如,使用XML库),您可以这样做:
File.WriteAllText(@"c:\myXml.xml", xml);
System.IO.File.WriteAllText("filename.xml", xml );
你可以这样做:
string path = @"C:\testfolder\testfile.txt"; using (System.IO.StreamWriter file = new System.IO.StreamWriter(path)) { file.Write(text); }
您也可以在创建XML文档后执行此操作,但速度较慢:
xdoc.Save
如果你想按原样保存字符串而不检查它是否格式正确或有效,那么如上所述,使用System.IO.File.WriteAllText("C:\myfilename.xml", xml );
如前所述,这默认为将文件保存为UTF-8,但您可以指定编码为Jon Skeet。
我建议在字符串中添加XML声明,例如,
并确保声明中的编码与WriteAllText方法中的编码匹配。 从堆栈溢出的XML编码问题的频率来看,它可能会在以后节省相当多的麻烦。
如果要确保XML格式正确和/或有效,那么首先需要在其上使用XML解析器,例如XDocument doc = XDocument.Parse(str);
如果要保留空格,也会覆盖该方法: XDocument.Parse(str, LoadOptions.PreserveWhitespace)
然后,您可以对其进行validationhttp://msdn.microsoft.com/en-us/library/bb340331.aspx
保存到文件之前: doc.Save("C:\myfilename.xml");