在C#中,可以很方便地从XML文件加载数据到
DataSet。只要XML文件结构清晰,符合基本的表格格式(有行、列信息),
DataSet.ReadXml()方法就能自动解析并填充数据。
使用 ReadXml() 从XML加载数据
DataSet 提供了 ReadXml() 方法,可以直接读取XML文件内容,并将其映射为表和行。以下是一个完整示例:
DataSet dataSet = new DataSet();
dataSet.ReadXml("data.xml"); // 指定XML文件路径
执行后,DataSet会根据XML结构自动创建DataTable,并填充数据。例如,如果有如下XML文件:
<?xml version="1.0" standalone="yes"?>
<DocumentElement>
<Person>
<ID>1</ID>
<Name>张三</Name>
<Age>25</Age>
</Person>
<Person>
<ID>2</ID>
<Name>李四</Name>
<Age>30</Age>
</Person>
</DocumentElement>
加载后,DataSet中会自动生成一个名为 Person 的表,包含 ID、Name、Age 三列,以及两行数据。
支持的XML格式说明
DataSet能识别多种XML结构,但推荐使用带有架构信息或标准行结构的格式:
XML根节点下包含多个同名元素(视为行) 每个元素的子节点作为字段列 也可包含内联XSD schema,DataSet会据此创建强类型列如果XML没有schema,DataSet会尝试推断数据类型(通常默认为字符串,部分数值可被识别)。
常见操作建议
确保XML文件路径正确,避免FileNotFoundException可先用
File.Exists()判断文件是否存在 若XML结构复杂或嵌套太深,建议手动解析或使用
XmlReader加载后可通过
dataSet.Tables[0]访问具体表
基本上就这些。只要XML格式规范,用
ReadXml()加载到DataSet非常简单直接。不复杂但容易忽略的是结构匹配问题——确保每条记录标签一致,字段命名清晰。基本上就这些。
