Я пытаюсь прочитать документ xml, но XmlReader.ReadToNextSibling не работает, как указано в этой документации MSDN
Вот пример консоли:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.IO;
namespace ConsoleTestApp
{
class Program
{
static void Main(string[] args)
{
string xmlText = "<xmlRoot><group><item>Item 1</item><item>Item 2</item></group><group><item>Item 3</item><item>Item 4</item></group></xmlRoot>";
using (XmlReader reader = XmlReader.Create(new StringReader(xmlText)))
{
reader.ReadToFollowing("item");
do
{
Console.WriteLine("Item: {0}", reader.ReadInnerXml());
} while (reader.ReadToNextSibling("item"));
}
Console.WriteLine("Press any key to continue...");
Console.Read();
}
}
}
Это выводит только один элемент:
Элемент: Элемент 1
Кто-нибудь знает, как я могу заставить это работать?
Пожалуйста, не предлагайте использовать модель DOM (XmlDocument). Я не могу, потому что эти xml-файлы взяты из разных источников и могут иметь много разных пространств имен, и это очень хлопотно. Мне нужно, чтобы это заработало.