将 XML 转换为 c# 类

本文关键字:转换 XML | 更新日期: 2023-09-27 18:32:09

我正在通过套接字接收一个XML文件,并希望通过将XML转换为c#类对象来检索XML中的所有值

请指导我如何做到这一点

我需要SNo,File,It和MaxIt的所有值

附言我正在使用Visual Studio 2010

这是我的XML文件:

<?xml version="1.0" standalone="yes"?>
<NewDataSet>
  <default.xml>
    <SNo>31</SNo>
    <File>300K</File>
    <It>5</It>
    <MaxIt>10</MaxIt>
  </default.xml>
  <default.xml>
    <SNo>32</SNo>
    <File>200K</File>
    <It>5</It>
    <MaxIt>10</MaxIt>
  </default.xml>
</NewDataSet>

[编辑] 请注意,我需要动态使用这些值,因为我正在处理通过套接字将 XML 文件发送到另一个系统的实用程序。我不认为我可以在这里ude xsd

将 XML 转换为 c# 类

要获取所有节点,请使用 XPath 表达式/default/default。第一个 斜杠表示节点必须是根节点。选择节点 方法返回集合 XmlNodeList,它将包含 节点。要获取子节点的值,您可以简单地索引 节点名称为xmlNode["SNo"]的XmlNode。内部文本。请参阅的 下面的示例。

XmlDocument xml = new XmlDocument();
xml.LoadXml(myXmlString); // suppose that myXmlString contains "<default>...</default>"
XmlNodeList xnList = xml.SelectNodes("/default/default");
foreach (XmlNode xn in xnList)
{
  string ss= xn["SNo"].InnerText;
  string vv= xn["File"].InnerText;
  Console.WriteLine("Name: {0} {1}", ss, vv);
}