【问题标题】:C# cant read xml in datasetC# 无法读取数据集中的 xml
【发布时间】:2019-09-12 14:46:50
【问题描述】:

我刚刚弄清楚如何在数据集中读取我的 XML。 一切正常,在我开始加密和解密之后,ReadXML 停止工作。

FTP.DownloadFile();
DataSet dataSet = new DataSet();
String encrypted = File.ReadAllText(Path.GetTempPath() + "\\lagerbestand.xml");
//String decrypted = StringCipher.DecryptString(encrypted, "XXXXX");
//MessageBox.Show(decrypted);
dataSet.ReadXml(encrypted);
dataGridView.DataSource = dataSet.Tables[0];

dataSet.ReadXML(encrypted);给了我一个例外。

路径中有非法字母。

路径正确,加密后的String也填好了。 加密后的字符串如下所示:

"<NewDataSet>\r\n  <Table1>\r\n    <Artikelname>1</Artikelname>\r\n    <Artikelnummer>2</Artikelnummer>\r\n    <Lieferant>3</Lieferant>\r\n    <Bestand>4</Bestand>\r\n    <Artikelbeschreibung>5</Artikelbeschreibung>\r\n    <Min-Lagermenge>6</Min-Lagermenge>\r\n    <Einkauf>7</Einkauf>\r\n    <Verkauf>8</Verkauf>\r\n  </Table1>\r\n</NewDataSet>"

【问题讨论】:

  • StringCipher 是 .NET 框架中的类还是 this 类?

标签: c# xml datatable dataset


【解决方案1】:

该方法需要一个文件路径而不是实际的 xml。

见:https://docs.microsoft.com/en-us/dotnet/api/system.data.dataset.readxml?view=netframework-4.8

这应该可行:

dataSet.ReadXML(Path.GetTempPath() + "\\lagerbestand.xml");

【讨论】:

    【解决方案2】:

    ReadXML 需要一个文件路径

    你应该试试这个方法

    DataSet dataSet = new DataSet();
    String encrypted = File.ReadAllText(Path.GetTempPath() + "\\lagerbestand.xml");
    //String decrypted = StringCipher.DecryptString(encrypted, "BeRo-0sT:De0asdnjkinu786*!");
    //MessageBox.Show(decrypted);
    StringReader sr = new StringReader(encrypted);
    dataSet.ReadXml(sr);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      • 2015-07-07
      • 1970-01-01
      • 1970-01-01
      • 2021-04-15
      相关资源
      最近更新 更多