关于把xml格式的字符串 写入dataset遇到的问题
xml字符串为:
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">
<row> <TimeStamp>2011-6-30 14:00:00</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:41:53</TimeStamp> <TagName>newtag1</TagName> <Value>888</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:42:28</TimeStamp> <TagName>newtag1</TagName> <Value>5567</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:43:04</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
<row> <TimeStamp>2011-7-1 9:26:36</TimeStamp> <TagName>newtag1</TagName> <Value>1233421</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-7-1 9:27:34</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
</string>
读取代码如下:
private void btnQry_Click(object sender, EventArgs e)
{
string strdata;
strdata = string.Empty;
StringReader stream = null;
XmlTextReader reader = null;
try
{
localhost.Service web = new localhost.Service();
strdata = web.TagQuery(TBoxTgName.Text, dtpStart.Text, dtpEnd.Text);
DataSet ds = new DataSet();
stream = new StringReader("@" + strdata);
reader = new XmlTextReader(stream);
ds.ReadXml(reader); //错误在这里发生,提示:“根级别上的数据无效。 行 1,位置 1....”
dgv.DataSource = ds;
dgv.Refresh();
TBoxStatus.Text = "数据采集成功!";
}
catch (Exception ex)
{
TBoxStatus.Text = "数据采集失败!"+ ex.Message;
}
}
<?xml version="1.0" encoding="utf-8" ?>
<string xmlns="http://tempuri.org/">
<row> <TimeStamp>2011-6-30 14:00:00</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:41:53</TimeStamp> <TagName>newtag1</TagName> <Value>888</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:42:28</TimeStamp> <TagName>newtag1</TagName> <Value>5567</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-6-30 14:43:04</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
<row> <TimeStamp>2011-7-1 9:26:36</TimeStamp> <TagName>newtag1</TagName> <Value>1233421</Value> <OPCQuality>192</OPCQuality> </row>
<row> <TimeStamp>2011-7-1 9:27:34</TimeStamp> <TagName>newtag1</TagName> <Value>0</Value> <OPCQuality>0</OPCQuality> </row>
</string>
读取代码如下:
private void btnQry_Click(object sender, EventArgs e)
{
string strdata;
strdata = string.Empty;
StringReader stream = null;
XmlTextReader reader = null;
try
{
localhost.Service web = new localhost.Service();
strdata = web.TagQuery(TBoxTgName.Text, dtpStart.Text, dtpEnd.Text);
DataSet ds = new DataSet();
stream = new StringReader("@" + strdata);
reader = new XmlTextReader(stream);
ds.ReadXml(reader); //错误在这里发生,提示:“根级别上的数据无效。 行 1,位置 1....”
dgv.DataSource = ds;
dgv.Refresh();
TBoxStatus.Text = "数据采集成功!";
}
catch (Exception ex)
{
TBoxStatus.Text = "数据采集失败!"+ ex.Message;
}
}
...全文
相关推荐
XML与dataset转换文档
**数据编码**: - 在处理XML字符串时,要确保字符串的编码正确,以防止字符乱码问题。
XML与DataTable-DataSet互转(C#)
这个过程涉及到`DataTable.WriteXml`方法,该方法接收一个XmlWriter对象,用于将DataTable的内容写入XML格式。
asp.net使用DataSet的ReadXml读取XML文件及Stream流的方法
在代码的另一部分,通过TextReader读取一个XML字符串,这个字符串代表了歌曲信息的XML格式。
C# DataSet的内容写成XML时如何格式化字段数据
其中一个常用的数据结构是DataSet,它提供了一种存储和组织数据的方式,使得程序员可以非常灵活地处理关系型数据。然而,当你需要将DataSet中的内容导出为XML文件时,可能会遇到数据格式的问题。
DataSet与XML相互转换源码
了解并熟练掌握这两种数据格式的转换方法,对于提升开发效率和解决实际问题具有重要意义。


Web Services
