You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让DataSet.ReadXml读取XML时自动去除空白字符?

解决DataSet.ReadXml读取XML时保留空白字符的问题

DataSet.ReadXml本身没有直接的配置项自动去除元素文本内的缩进、换行这类空白,但可以通过XmlReader配合配置实现,不用编写完整的自定义读取函数,步骤如下:

方法:结合XmlReaderSettings读取XML

  1. 配置XmlReaderSettings忽略无关空白,再遍历表格自动修剪单元格内容:
DataSet dataSet = new DataSet();
XmlReaderSettings settings = new XmlReaderSettings();
// 跳过XML元素之间的空白节点(比如标签间的换行、缩进)
settings.IgnoreWhitespace = true;

using (XmlReader reader = XmlReader.Create(filePath, settings))
{
    dataSet.ReadXml(reader);
}

// 遍历所有单元格,修剪字符串前后的空白字符
foreach (DataTable table in dataSet.Tables)
{
    foreach (DataRow row in table.Rows)
    {
        foreach (DataColumn col in table.Columns)
        {
            if (row[col] is string text)
            {
                row[col] = text.Trim();
            }
        }
    }
}

dataGridView1.DataSource = dataSet.Tables[0];

说明

  • settings.IgnoreWhitespace = true仅处理元素之间的空白节点,不会修改元素内部文本的前后空白;
  • 后续遍历表格的代码会自动清理每个字符串单元格的缩进、换行和多余空格,正好解决你遇到的问题;
  • 这种方式比完全自定义XML读取逻辑更简洁,同时满足自动消除空白的需求。

内容的提问来源于stack exchange,提问作者Karker Carnesir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 01:52:43