我想使用xmltextreader解析XML列表。
<xmllist>
<xml><item1>abc</item1><item2>xyz</item2></xml><xml><item1>abc</item1><item2>xyz</item2></xml>
</xmllist>
我希望输出分隔每个列表项
xml1
Item1 abc
Item2 xyz
xml2
Item1 abc
Item2 xyz
请尝试以下代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;
namespace ConsoleApplication29
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XmlReader reader = XmlTextReader.Create(FILENAME);
List<Xml> xmls = new List<Xml>();
while (!reader.EOF)
{
if (reader.Name != "xml")
{
reader.ReadToFollowing("xml");
}
if (!reader.EOF)
{
XElement xml = (XElement)XElement.ReadFrom(reader);
Xml item = new Xml() { item1 = (string)xml.Element("item1"), item2 = (string)xml.Element("item2")};
xmls.Add(item);
}
}
}
}
public class Xml
{
public string item1 { get; set; }
public string item2 { get; set; }
}
}