我正在为学校作业编写 XML 查看器,但我不知道如何在不知道文件结构的情况下加载 XML 文件。
读取文件后,我将在列表框中显示 XML 结构。
这是一项学校作业,结果应该是这样的:
我有一个可以完美加载的示例文件,但我遇到了一个随机文件。
XmlDocument doc = new XmlDocument();
using(XmlReader xmlReader = XmlReader.Create("c:\\temp\\sites.xml"))
{
//Load file
doc.Load(xmlReader);
XmlNode root = doc.DocumentElement;
foreach (XmlNode siteNode in root)
{
//Nodes
XmlNode URLNode = siteNode.FirstChild;
XmlNode EmailNode = siteNode.LastChild;
//Create site
Site site = new Site(URLNode.FirstChild.Value, EmailNode.FirstChild.Value);
//Add to list
sites.Add(site);
}
Console.WriteLine(sites.Count);
}
最佳答案
如果不了解结构,您将无法将 XML 数据转换为已知类(例如您的 Site
)类,因为您需要某种方法来迁移数据到类构造函数参数/属性/等。
也就是说,如果您只想查看或检查 XML 文件本身,您可以递归地检查根元素内的 XmlNode 元素。
XmlNode包括执行此操作所需的所有属性,例如 ChildNodes , Attributes , 和 Value .
关于c# - 如何读取结构未知的 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7908053/