我正在寻找一种在C#中输入文本文件并输出xml的方法。经过一些搜索,我找到了输入字符串和输出为xml的方法,并手动将一些文本输入到C#源代码中,并输出为xml,但不导入文本文件和输出。我需要这个,因为我有一个应用程序将一些特定于计算机的信息保存到txt文件。我想创建一个C#程序,它接受.txt并将其输出为.xml。所有.txt文件都具有相同的格式。如果可能的话,我希望它输出到:
<Data>
<Info>#</Info>
文本文件的所有内容都将输出到#区域。谢谢你的帮助!
答案 0 :(得分:4)
假设您需要为txt中的每一行添加xml元素,您可以编写类似于以下(XLINQ)的内容。
String[] data = File.ReadAllLines("TextFile.txt");
XElement root = new XElement("root",
from item in data
select new XElement("Line",item));
root.Save("XmlFile.Xml");
输出
<root>
<Line>Hello</Line>
<Line>World</Line>
</root>
答案 1 :(得分:2)
以下内容将打开一个文件,读取内容,创建一个新的XML文档,然后将结果保存到与原始文件相同的路径,只有XML扩展名。
var txt = string.Empty;
using (var stream = File.OpenText(pathToFile))
{
txt = stream.ReadToEnd();
}
var xml = new XDocument(
new XElement("Data",
new XElement("Info", txt)));
xml.Save(Path.ChangeExtension(pathToFile, ".xml"));