请用C#解析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 21:23:10 浏览: 46
可以使用C#中的XmlDocument类来解析XML文件,以下是一个示例代码:
```csharp
using System;
using System.Xml;
class Program
{
static void Main(string[] args)
{
XmlDocument doc = new XmlDocument();
doc.Load("file.xml");
XmlNode root = doc.DocumentElement;
string testValue = root.SelectSingleNode("text()").Value;
Console.WriteLine("test: " + testValue);
XmlNode a1Node = root.SelectSingleNode("a1");
string a1Key1 = a1Node.Attributes["key1"].Value;
string a1Key2 = a1Node.Attributes["key2"].Value;
Console.WriteLine("a1 key1: " + a1Key1);
Console.WriteLine("a1 key2: " + a1Key2);
XmlNode name1Node = root.SelectSingleNode("name1");
string name1Key1 = name1Node.Attributes["key1"].Value;
string name1Value = name1Node.InnerText;
Console.WriteLine("name1 key1: " + name1Key1);
Console.WriteLine("name1 value: " + name1Value);
XmlNode int1Node = root.SelectSingleNode("int1");
string int1Value = int1Node.InnerText;
Console.WriteLine("int1: " + int1Value);
XmlNode secondNode = root.SelectSingleNode("second");
XmlNode a2Node = secondNode.SelectSingleNode("a2");
string a2Key1 = a2Node.Attributes["key1"].Value;
string a2Key2 = a2Node.Attributes["key2"].Value;
Console.WriteLine("a2 key1: " + a2Key1);
Console.WriteLine("a2 key2: " + a2Key2);
XmlNode name2Node = secondNode.SelectSingleNode("name2");
string name2Key1 = name2Node.Attributes["key1"].Value;
string name2Value = name2Node.InnerText;
Console.WriteLine("name2 key1: " + name2Key1);
Console.WriteLine("name2 value: " + name2Value);
XmlNode int2Node = secondNode.SelectSingleNode("int2");
string int2Value = int2Node.InnerText;
Console.WriteLine("int2: " + int2Value);
XmlNode char1Node = root.SelectSingleNode("char1");
string char1Value = char1Node.InnerText;
Console.WriteLine("char1: " + char1Value);
}
}
```
解析结果如下:
```
test: "main"
a1 key1: hoolai1
a1 key2: company1
name1 key1: super1
name1 value: "cctv1"
int1: 666
a2 key1: hoolai2
a2 key2: company2
name2 key1: super2
name2 value: "cctv2"
int2: 777
char1: "c"
```