演练 获取所有电视频道 FullChannels.xml c#
xml文件
<?xml version="1.0" encoding="utf-8" ?>
<TVChannels>
<Channel>
<channelType>TypeA</channelType> <!--频道类型-->
<tvChannel>北京电视台</tvChannel> <!--频道名称-->
<path>files/北京电视台.xml</path> <!--频道对应XML文件的本地路径-->
</Channel>
<Channel>
<channelType>TypeB</channelType>
<tvChannel>凤凰卫视</tvChannel>
<path>files/凤凰卫视.xml</path>
</Channel>
</TVChannels>
存
代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml;
namespace xml演练
{
class Program
{
static void Main(string[] args)
{
// 实例化文件对象
XmlDocument xd = new XmlDocument();
// 对象加载xml文件
xd.Load("FullChannels.xml");
// 读取根节点
XmlNode root = xd.DocumentElement;
// 获取节点名称
Console.WriteLine(root.Name);
// 获取节点的值
Console.WriteLine(root.InnerText);
// 获取所有子节点列表
XmlNodeList nodes = root.ChildNodes;
// 获取子节点列表的长度
Console.WriteLine(nodes.Count);
// 获取索引为0的节点
XmlNode node0 = nodes[0];
// 获取0节点的名称
Console.WriteLine(node0.Name);
// 获取0节点的文本值
Console.WriteLine(node0.InnerText);
// 遍历
Console.WriteLine("====");
foreach (XmlNode node in root.ChildNodes)
{
foreach (XmlNode item in node)
{
switch (item.Name) {
case "channelType":
case "tvChannel":
Console.Write(item.InnerText);
Console.Write("\t");
break;
case "path":
Console.WriteLine(item.InnerText);
break;
}
}
Console.WriteLine("====");
}
// 卡顿
Console.ReadKey();
}
}
}
效果