Строка, которую вы разместили, очень похожа на xml, но она не является действительной xml Ему нужен корневой элемент (и удалите запятую ,
). Я обновил ниже:
var xmlString = @"<?xml version=""1.0""?>
<rootData>
<data name=""Footer"" xml:space=""preserve"">
<value>Digital Number</value>
</data>
<data name=""lblDisplay"" xml:space=""preserve"">
<value>Hien thi</value>
</data>
</rootData>";
DataSet
имеет метод ReadXml()
, который
... позволяет читать только данные или оба
данные и схема в DataSet из XML-документа ...
Зная это, теперь вы можете создать DataSet
и использовать StringReader
для чтения Xml прямо в DataSet.
var ds = new DataSet();
using (var reader = new StringReader(xmlString))
{
ds.ReadXml(reader);
}
Затем все, что вам нужно сделать, это извлечь данные из набора данных:
Console.WriteLine($"{ds.Tables[0].Rows[0]["name"]}: {ds.Tables[0].Rows[0]["value"]}");
// output
Footer: Digital Number
Если вы хотите DataTable, просто сделайте:
DataTable dt = ds.Tables[0];
Смотрите это скрипка .