У меня есть эта XML:как загрузить DataGridView с моими данными из XML
<container_1 attr1="..." attr2="..." attr3="...">
<rekord_1>
<type_1 attr1="..." attr2="..." ... />
<type_2 attr1="..." attr2="..." ... />
</rekord_1>
<rekord_2>... </rekord_2>
.
.
<rekord_N> ... </rekord_N>
</container_1>
я могу разобрать, как я хочу, и показать его в консольном приложении (с помощью XMLElements
, XMLNodeLists
и несколько петель), но Я хочу создать приложение с графическим интерфейсом и табличным представлением. Мое приложение формы может читать XML, но оно может обрабатывать только 1 тег прямо сейчас. Например, если я получаю тег container_1
, он выводит только атрибуты container_1
, но я хочу показать записи в разделе container_1
в виде таблицы.
Я хочу, чтобы это выглядело как моя старая программа в консоли.
Как я могу получить данные из моего XML, чтобы я мог работать с элементами/атрибутами? Потому что я хочу установить их место в представлении таблицы. Какую документацию следует читать? Или есть какой-то пример, который может мне пригодиться?
Edited (. 20 августа): Вот основная часть кода:
private void button1_Click(object sender, EventArgs e)
{
Stream input=null;
OpenFileDialog dialog = new OpenFileDialog();
openFileDialog1.InitialDirectory = "C:/";
openFileDialog1.Filter = "xml file | *.xml";
openFileDialog1.FilterIndex = 2;
openFileDialog1.RestoreDirectory = true;
if (openFileDialog1.ShowDialog() == DialogResult.OK) {
try
{
if ((input = openFileDialog1.OpenFile()) != null)
{
using (input)
{
XmlReader xmlFile = XmlReader.Create(input, new XmlReaderSettings());
DataSet dataSet = new DataSet();
dataSet.ReadXml(xmlFile);
DataSet containers = new DataSet();
dataGridView1.DataSource = dataSet.Tables[tag];
xmlFile.Close();
}
}
}
catch (Exception ex) {
MessageBox.Show("ERROR");
}
}
}
Эта функция хорошо работает дисплей, если мой тег контейнера или Rekord и делает вывод: outputs
Но я не могу отобразить container1 + его rekords, container2 + его rekords и т. Д., Только все контейнеры или все рекорды в одно и то же время.
Вы можете показать код для того, что вы уже пробовали и как выглядит результат? – Malachi
Я сделал это.Заборился за поздний ответ, и спасибо, что вы пытались мне помочь. – Gabor