Я читаю XML и показываю его в DataGridView, который отлично работает.
Однако моя жизнь была бы в 10 раз проще, если бы я мог брать определенные элементы и читать их содержимое. (Я использую XmlReader)
Кроме того, есть ли простой способ перебрать элемент? Мне нужно получить счетчик, а затем перебрать каждую «установку», но я не могу заставить ее работать должным образом. Добавление еще одной строки «Пока (читал)» не было отличным решением.
Я бы предпочел не переключаться на другого читателя сейчас, я сейчас очень глубоко разбираюсь в этом.
Данные XML:
<data>
<count>2</count>
<facility>
<typeId>1</typeId>
<type>Beds</type>
<quantity>0</quantity>
<description>null</description>
</facility>
<facility>
<typeId>2</typeId>
<type>EDBeds</type>
<quantity>0</quantity>
<description>null</description>
</facility>
</data>
Код:
while (xr.Read())
{
if (xr.Name.Equals("count"))
{
valueName.Text = "We currently have " + xr.ReadElementContentAsString() + " facilities open.";
}
while (xr.ReadToFollowing("facility"))
{
//Add a new row for data if we are at a new Facility element
if (xr.NodeType == XmlNodeType.Element && xr.Name == "facility")
{
row = generalData.Rows.Add();
col = 0;
}
//Loop through current facility Element
}
}