C# 按原样读取xml文件
我有一个包含以下内容的XML文件 我所要做的就是在多行文本框中显示文本,就像它在文件中一样。我已经在微软的网站上找到了代码,并对其进行了轻微的修改,使其适合我,但我仍然没有完全做到这一点C# 按原样读取xml文件,c#,xml,C#,Xml,我有一个包含以下内容的XML文件 我所要做的就是在多行文本框中显示文本,就像它在文件中一样。我已经在微软的网站上找到了代码,并对其进行了轻微的修改,使其适合我,但我仍然没有完全做到这一点 <Employees> <Employee> <Name>Davolio, Nancy</Name> <Title>Sales Representative</Title> <BirthDay>12/
<Employees>
<Employee>
<Name>Davolio, Nancy</Name>
<Title>Sales Representative</Title>
<BirthDay>12/08/1948</BirthDay>
<HireDate>05/01/1992</HireDate>
</Employee>
<Employee>
<Name>Fuller, Andrew</Name>
<Title>Vice President, Sales</Title>
<BirthDay>02/19/1952</BirthDay>
<HireDate>08/14/1992</HireDate>
</Employee>
<Employee>
<Name>Leverling, Janet</Name>
<Title>Sales Representative</Title>
<BirthDay>08/30/1963</BirthDay>
<HireDate>04/01/1992</HireDate>
</Employee>
南希,达沃利奥
销售代表
12/08/1948
05/01/1992
富勒,安德鲁
销售副总裁
02/19/1952
08/14/1992
勒沃林,珍妮特
销售代表
08/30/1963
04/01/1992
代码:
XmlTextReader=newxmltextreader(“Employees.xml”);
字符串内容=”;
while(reader.Read())
{
reader.MoveToContent();
if(reader.NodeType==System.Xml.XmlNodeType.Element)
内容+=“\n”;
if(reader.NodeType==System.Xml.XmlNodeType.Text)
contents+=reader.Value+“\n”;
}
//控制台。写入(内容);
txtStats.Text=“文件创建时间=“+File.GetCreationTime(Server.MapPath(“../XMLFiles/Employees.xml”)).ToString()
+“\n”+“File Last Access Time=“+File.GetLastAccessTime(Server.MapPath(“../XMLFiles/Employees.xml”)).ToString()
+“\n”+“File Last Write Time=“+File.GetLastWriteTime(Server.MapPath(“../XMLFiles/Employees.xml”)).ToString()
+“\n”
+“\n”
+contents.ToString();
这让我明白了以下几点
<Employees>
<Employee>
<Name>
Davolio, Nancy</>
<Title>
Sales Representative</>
<BirthDay>
12/08/1948</>
<HireDate>
05/01/1992</>
<Employee>
<Name>
Fuller, Andrew</>
<Title>
Vice President, Sales</>
<BirthDay>
02/19/1952</>
<HireDate>
08/14/1992</>
<Employee>
<Name>
Leverling, Janet</>
<Title>
Sales Representative</>
<BirthDay>
08/30/1963</>
<HireDate>
04/01/1992</>
南希,达沃利奥
销售代表
12/08/1948
05/01/1992
富勒,安德鲁
销售副总裁
02/19/1952
08/14/1992
勒沃林,珍妮特
销售代表
08/30/1963
04/01/1992
如果有更好的方法,那么我很高兴听到其他方法。如果您只想按原样显示文件,那么不需要将其解析为xml。您只需使用: 或者,如果您想格式化它,一种简单的方法是通过一个
textBox1.Text = XDocument.Load("Employees.xml").ToString();
为什么不直接用
文件.ReadAllText
加载它呢?您似乎并不关心它是xml。或者,如果您想自动格式化它,您可以执行XDocument.Load(filename).ToString()
,XDocument.Load(filename)。ToString()完成了这项任务。我没有意识到这有那么容易,我在谷歌上搜索了几天,没有找到那么容易的答案。非常感谢你。
textBox1.Text = File.ReadAllText("Employees.xml");
textBox1.Text = XDocument.Load("Employees.xml").ToString();