附:XML文件
<?xml version="1.0" encoding="utf-8"?>
<Poll Question="Programm Language">
<Answer Text="C#" Votes="10" />
<Answer Text="C++" Votes="2" />
<Answer Text="Java" Votes="34" />
<Answer Text="JavaScript" Votes="12" />
<Answer Text="VB" Votes="42" />
</Poll>//
public void ReaderXML()
{
DataSet myDataSet = new DataSet();
FileStream fsReader = new FileStream(filename,FileMode.Open);
XmlTextReader myXmlReader = new XmlTextReader(fsReadXml); myDataSet.ReaderXml(myXmlReader) //将XML文件中的数据读入到DataSet中
myXmlReader.close();//关闭文件
}
问题:为什么myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="0",而
myDataSet.Tables[0].Rows[0].ItemArray[1].ToString()="Programm Language",我觉得myDataSet.Tables[0]这个表应该只有一列才对????
<?xml version="1.0" encoding="utf-8"?>
<Poll Question="Programm Language">
<Answer Text="C#" Votes="10" />
<Answer Text="C++" Votes="2" />
<Answer Text="Java" Votes="34" />
<Answer Text="JavaScript" Votes="12" />
<Answer Text="VB" Votes="42" />
</Poll>//
public void ReaderXML()
{
DataSet myDataSet = new DataSet();
FileStream fsReader = new FileStream(filename,FileMode.Open);
XmlTextReader myXmlReader = new XmlTextReader(fsReadXml); myDataSet.ReaderXml(myXmlReader) //将XML文件中的数据读入到DataSet中
myXmlReader.close();//关闭文件
}
问题:为什么myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="0",而
myDataSet.Tables[0].Rows[0].ItemArray[1].ToString()="Programm Language",我觉得myDataSet.Tables[0]这个表应该只有一列才对????
<?xml version="1.0" encoding="utf-8"?>
<Poll Question="Programm Language">
</Poll>确实该行中只有一个值,即你所说的列ItemArray
myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="Programm Language";//成立
myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="Programm Language";//数组越界!当其中加入另一个table后,如:
<?xml version="1.0" encoding="utf-8"?>
<Poll Question="Programm Language">
<Answer Text="C#" Votes="10" />
</Poll>
第一行中就会有两个值,会出现你的运行结果.由于在下对xml知之甚少,还望高手点拨!
myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="Programm Language";//成立
myDataSet.Tables[0].Rows[0].ItemArray[1].ToString()="Programm Language";//数组越界!
myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="Programm Language";//成立
myDataSet.Tables[0].Rows[0].ItemArray[1].ToString()="Programm Language";//数组越界!
------------------------------------------------------------------------------------
我想更正一下:
myDataSet.Tables[0].Rows[0].ItemArray[0].ToString()="0";//成立
myDataSet.Tables[0].Rows[0].ItemArray[1].ToString()="Programm Language";//仍然成立!
而且我在程序中试了myDataSet.Tables[0].Columns.Count = 2 //困惑?????
<Poll Question="Programm Language">
</Poll>