C # не может прочитать XML в наборе данных - PullRequest
2 голосов
/ 23 апреля 2019

Я только что понял, как читать мой 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 (зашифрованный); дает мне исключение.

Недопустимые буквы в пути.

Путь правильный, строка зашифрованная также заполнена. Зашифрованная строка выглядит следующим образом:

"<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>"

Ответы [ 2 ]

2 голосов
/ 23 апреля 2019

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);
2 голосов
/ 23 апреля 2019

Метод ожидает путь к файлу, а не фактический XML.

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

Это должно работать:

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