读取 XML 文件并将数据转换为 DirectoryInfo 元素列表

Read an XML File and transform data into a list of DirectoryInfo elements

我目前正在尝试读取此格式的 XML 文件以将其转换为列表,但尝试评论中的代码时出现错误:这就是它在 IE 中的样子。显然有一个关闭的资产标签和稍后关闭的属性

  <Properties>
- <Assets>
- <Asset Name="" Version="">
  <TestCase Name="" Version="" SubVersion="" /> 
  <TestCase Name="" Version="" SubVersion="" /> 
  <TestCase Name="" Version="" SubVersion="" /> 
  <TestCase Name="" Version="" SubVersion="" />  
  </Asset>

所以我这样做了:

XmlReader xReader = XmlReader.Create(new StringReader(xmlDoc));

其中 xml doc = @"\visreP01\REFERENCES\default.reference.versions\default.reference.versions.properties.xml"

我打算测试如何迭代名称和版本等以迭代地将它们放在列表中。但在读取过程中,我得到的数据根级别无效第 1 行位置 1。

试试这个

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
    class Program
    {
        const string FILENAME = @"c:\temp\test.xml";
        static void Main(string[] args)
        {

            XmlReader xReader = XmlReader.Create(FILENAME);

            while(!xReader.EOF)
            {
                if (xReader.Name != "Asset")
                {
                    xReader.ReadToFollowing("Asset");
                }
                if (!xReader.EOF)
                {
                    XElement assets = (XElement)XElement.ReadFrom(xReader);
                    var results = assets.Elements("TestCase").Select(x => new
                    {
                        name = (string)x.Attribute("Name"),
                        version = (string)x.Attribute("Version"),
                        subVersion = (string)x.Attribute("SubVersion")
                    }).ToList();


                 }
            }
        }
    }
}