为了账号安全,请及时绑定邮箱和手机立即绑定

使用c#将字符串转换为数据表

使用c#将字符串转换为数据表

C#
www说 2022-12-31 10:38:21
我想知道如何将此字符串转换为数据表。这个字符串是我的字符串:"<data name=\"Footer\" xml:space=\"preserve\"> <value>Digital Number</value> </data>,<data name=\"lblDisplay\" xml:space=\"preserve\"> <value>Hien thi</value> </data>"我创建了包含名为“名称”和“值”的 2 列的表:DataTable tbl = new DataTable();DataColumn column;DataRow row;column = new DataColumn();column.DataType = System.Type.GetType("System.String");column.ColumnName = "Name";tbl.Columns.Add(column);column = new DataColumn();column.DataType = System.Type.GetType("System.String");column.ColumnName = "Value";tbl.Columns.Add(column);如何将字符串转换为DataTable?
查看完整描述

1 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

您发布的字符串看起来很像 xml,但它不是有效的 xml。它需要一个根元素(并删除,逗号)。我已经更新如下:


var xmlString = @"<?xml version=""1.0""?>

                  <rootData>

                      <data name=""Footer"" xml:space=""preserve""> 

                          <value>Digital Number</value> 

                      </data>

                      <data name=""lblDisplay"" xml:space=""preserve"">

                          <value>Hien thi</value> 

                      </data>

                  </rootData>";

DataSetReadXml()有一个方法


...提供了一种从 XML 文档中仅读取数据或将数据和模式读取到 DataSet 中的方法...


知道了这一点,现在您可以创建一个DataSet并使用一个StringReader将 Xml 直接读入数据集中。


var ds = new DataSet();

using (var reader = new StringReader(xmlString))

{

    ds.ReadXml(reader);

}

然后,您需要做的就是从 DataSet 中提取数据:


Console.WriteLine($"{ds.Tables[0].Rows[0]["name"]}: {ds.Tables[0].Rows[0]["value"]}");


// output

Footer: Digital Number

如果你想要一个 DataTable 就这样做:


 DataTable dt = ds.Tables[0];

看到这个小提琴。


查看完整回答
反对 回复 2022-12-31
  • 1 回答
  • 0 关注
  • 291 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号