2

我需要能够使用一个文件来执行此操作,我不一定知道元素的名称是什么,或者他们将拥有多少个孩子(即:dataTable 将有多少列)。但是,它的格式应该如下:

<Items>
   <Item>
      <Price>25</Price>
      <Name>Basketball</Name>
   </Item>
   <Item>
      <Price>29</Price>
      <Name>Football</Name>
   </Item>
</Items>

我试过这个:

DataSet ds = new DataSet();
ds.ReadXml(file.PostedFile.InputStream, XmlReadMode.InferSchema);

和这个:

ds.Tables[0].ReadXml(file.PostedFile.InputStream);

但我不断收到“System.Xml.XmlException:缺少根元素”。

4

1 回答 1

1

我遇到的问题是输入流是空的。我之前将流复制到 MemoryStream :

MemoryStream memStream = new MemoryStream();
using (Stream s = file.PostedFile.InputStream)
{
     s.CopyTo(memStream);
}

在 xml 文档的情况下,这不是必需的(它被用于 excel),所以我只在上传的文件是 xls 或 xlsx 时才这样做。

于 2013-07-25T15:24:43.487 回答