示例一
using System;
using System.IO;
using System.Xml;
namespace TestXML
{
class Program
{
private const String filename = "items.xml";
static void Main(string[] args)
{
PrintXml();
Console.Read();
}
public static void PrintXml()
{
XmlTextReader reader = null;
try
{
//读取xml文件
reader = new XmlTextReader(filename);
//忽略空白节点
reader.WhitespaceHandling = WhitespaceHandling.None;
//遍历显示所有节点
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
Console.WriteLine("<{0}>", reader.Name);
Console.WriteLine("ver="+reader.GetAttribute("ver"));//读取属性
break;
case XmlNodeType.Text:
Console.WriteLine(reader.Value);
break;
case XmlNodeType.CDATA:
Console.WriteLine("<![CDATA[{0}]]>", reader.Value);
break;
case XmlNodeType.ProcessingInstruction:
Console.WriteLine("<?{0} {1}?>", reader.Name, reader.Value);
break;
case XmlNodeType.Comment:
Console.WriteLine("<!--{0}-->", reader.Value);
break;
case XmlNodeType.XmlDeclaration:
Console.WriteLine("<?xml version='1.0'?>");
break;
case XmlNodeType.Document:
break;
case XmlNodeType.DocumentType:
Console.WriteLine("<!DOCTYPE {0} [{1}]", reader.Name, reader.Value);
break;
case XmlNodeType.EntityReference:
Console.WriteLine(reader.Name);
break;
case XmlNodeType.EndElement:
Console.WriteLine("</{0}>", reader.Name);
break;
}
}
}
finally
{
if (reader != null)
reader.Close();
}
}
}
}
<?xml version="1.0"?> <!-- This is a sample XML document --> <!DOCTYPE Items [<!ENTITY number "123">]> <Items> <Item ver="1.2">Test with an entity: &number;</Item> <Item ver="1.2">test with a child element <more/> stuff</Item> <Item ver="1.2">test with a CDATA section <![CDATA[<456>]]> def</Item> <Item ver="1.2">Test with an char entity: A</Item> <!-- Fourteen chars in this element.--> <Item ver="1.2">1234567890ABCD</Item> </Items>
运行测试