解析XML列表c#

问题描述 投票:-5回答:1

我想使用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
c# xml xml-parsing
1个回答
0
投票

请尝试以下代码

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; }
    }

}
© www.soinside.com 2019 - 2024. All rights reserved.