C# 如何将xml文件内容加载到DataTable

首先使用DataSet.Readxml()方法将XML文件加载为DataTable,确保XML具有明确的表结构(如包含Users节点组),然后通过ds.Tables[0]或表名获取数据表,并遍历行输出字段值;若XML结构不规范,则需用XmlDocument解析并手动填充DataTable。

C# 如何将xml文件内容加载到DataTable

在C#中,可以使用DataSet类来将XML文件内容加载到DataTable中。XML文件需要有明确的结构(包含行和列定义),才能正确映射为DataTable

步骤说明

1. 确保XML结构合法且包含表结构信息
XML文件应包含表名、列名和数据行。例如:

<?xml version=”1.0″ encoding=”utf-8″?>
<DocumentElement>
  <Users>
    <Name>张三</Name>
    <Age>25</Age>
  </Users>
  <Users>
    <Name>李四</Name>
    <Age>30</Age>
  </Users>
</DocumentElement>

2. 使用DataSet.ReadXml()方法读取XML并获取DataTable

代码示例:

C# 如何将xml文件内容加载到DataTable

Calliper 文档对比神器

文档内容对比神器

C# 如何将xml文件内容加载到DataTable28

查看详情 C# 如何将xml文件内容加载到DataTable

using System;
using System.Data;

class Program
{
    Static void Main()
    {
        DataSet ds = new DataSet();
        ds.ReadXml(“data.xml”); // 替换为你的XML文件路径

        // 获取第一个表(根据XML中的根元素或节点组)
        DataTable dt = ds.Tables[0];

        // 遍历数据测试
        foreach (DataRow row in dt.Rows)
        {
            console.WriteLine($”Name: {row[“Name”]}, Age: {row[“Age”]}”);
        }
    }
}

注意事项

• 如果XML没有明确的表格结构,ReadXml()可能无法正确生成表。
• 可以通过ds.Tables["TableName"]按名称访问特定表。
• 若XML包含多个同级元素组,会自动生成多个表。

补充:手动创建DataTable并读取简单XML

对于结构不标准的XML,可结合System.Xml.XmlDocument解析后手动填充DataTable

DataTable dt = new DataTable();
dt.Columns.Add(“Name”, typeof(String));
dt.Columns.Add(“Age”, typeof(int));

XmlDocument doc = new XmlDocument();
doc.Load(“data.xml”);

foreach (Xmlnode node in doc.SelectNodes(“//Users”))
{
    dt.Rows.Add(
        node[“Name”]?.InnerText,
        int.Parse(node[“Age”]?.InnerText)
    );
}

基本上就这些。只要XML格式规范,用DataSet.ReadXml()是最简单直接的方式。

上一篇
下一篇
text=ZqhQzanResources