使用C#实现一个简单的xml解析器,并且实现树状打印,xml文件如下<test> "main" <a1 key1="hoolai1" key2="company1"/> <name1 key1="super1">"cctv1"</name1> <int1>666 </int1> <second> <a2 key1="hoolai2" key2="company2"/> <name2 key1="super2">"cctv2"</name2> <int2>777 </int2> </second> <char1> "c" </char1> </test>
时间: 2023-07-19 07:23:11 浏览: 156
C#对xml文件的简单操作
5星 · 资源好评率100%
好的,我会为您解答和提供代码。以下是使用C#实现一个简单的xml解析器,并且实现树状打印的代码:
```csharp
using System;
using System.Xml;
class Program
{
static void Main(string[] args)
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load("test.xml");
XmlNode rootNode = xmlDoc.FirstChild;
PrintTree(rootNode, "");
}
static void PrintTree(XmlNode node, string indent)
{
Console.WriteLine(indent + node.Name + " : " + node.InnerText);
if (node.Attributes != null)
{
foreach (XmlAttribute attr in node.Attributes)
{
Console.WriteLine(indent + " - " + attr.Name + " : " + attr.Value);
}
}
XmlNodeList children = node.ChildNodes;
foreach (XmlNode child in children)
{
PrintTree(child, indent + " ");
}
}
}
```
在这个程序中,我们使用XmlDocument类来加载xml文件,并获取xml的根节点。接着,我们使用PrintTree方法来递归遍历节点,并输出节点的名称、InnerText和属性信息。最后,我们使用缩进来显示节点的层次结构。
需要注意的是,为了让程序正常工作,您需要在程序的同一目录下创建一个名为test.xml的xml文件,并将您提供的xml代码复制到该文件中。
希望这能帮助您解决问题!
阅读全文