Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按原样读取xml文件_C#_Xml - Fatal编程技术网

C# 按原样读取xml文件

C# 按原样读取xml文件,c#,xml,C#,Xml,我有一个包含以下内容的XML文件 我所要做的就是在多行文本框中显示文本,就像它在文件中一样。我已经在微软的网站上找到了代码,并对其进行了轻微的修改,使其适合我,但我仍然没有完全做到这一点 <Employees> <Employee> <Name>Davolio, Nancy</Name> <Title>Sales Representative</Title> <BirthDay>12/

我有一个包含以下内容的XML文件

我所要做的就是在多行文本框中显示文本,就像它在文件中一样。我已经在微软的网站上找到了代码,并对其进行了轻微的修改,使其适合我,但我仍然没有完全做到这一点

<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();