如何在.net Core MVC中读取XML文件

时间:2017-02-20 10:00:36

标签: xml asp.net-core-mvc

大家好我在路径Project / MyProjectName / Location_Data.xml中有一个xml文件,xml里面看起来像这样

<?xml version="1.0" encoding="UTF-8"?>
<Root>
 <Item id="1" type="province" value="Province A">
   <Item id="101" type="district" value="District A">
     <Item id="10101" type="precinct" value="Precinct A" />
     <Item id="10102" type="precinct" value="Precinct B" />
     <Item id="10103" type="precinct" value="Precinct C" />
   </Item>
   <Item id="102" type="district" value="District B">
     <Item id="10201" type="precinct" value="Precinct D" />
     <Item id="10202" type="precinct" value="Precinct E" />
     <Item id="10203" type="precinct" value="Precinct F" />
   </Item>
</Item>
<Item id="2" type="province" value="Province B">
   <Item id="201" type="district" value="District C">
      <Item id="20101" type="precinct" value="Precinct A1" />
      <Item id="20103" type="precinct" value="Precinct C1" />
   </Item>
   <Item id="202" type="district" value="District D">
      <Item id="20201" type="precinct" value="Precinct D1" />
      <Item id="20202" type="precinct" value="Precinct E1" />
      <Item id="20203" type="precinct" value="Precinct F1" />
   </Item>
</Item>
</Root>

我希望阅读此文件,我尝试使用XmlTextReader但Net Core尚不支持它,也尝试使用XDocument.Load(Server.MapPath())但它也不起作用,有什么建议吗?< / p>

2 个答案:

答案 0 :(得分:2)

包括xml库:使用System.Xml 您可以尝试2个版本,或者将xml字符串作为一个整体“内容”作为参数加载,或者从文件路径读取xml。

此版本从xml字符串读取

XmlDocument doc =新的XmlDocument();

doc.LoadXml(xml);

这是从文件中读取的

doc.Load(xml);

并验证其是否有效

 //get the first node
  XmlNode root = doc.FirstChild;
 //then output it
  Console.WriteLine(root.OuterXml);

答案 1 :(得分:1)

尝试使用XmlSerializer

简单示例:

XmlSerializer xml = new XmlSerializer();
FileStream xmlStream = new FileStream("Patch/To/File.xml", FileMode.Open);
var result = xml.Deserialize(xmlStream);