📄 sample42.cs
字号:
namespace apiBook
{
using System;
using System.Xml;
using System.IO;
using System.Collections;
public class TestXmlNodeReaderClass
{
public static void Main()
{
XmlNodeReader reader = null;
XmlDocument testXD = new XmlDocument();
testXD.LoadXml("<!DOCTYPE student
[<!ENTITY lz 'lize'>]>"
+"<student test='example &lz;1'>"
+"<name>Rose</name>" +"<entity>&lz;</entity>"
+ "</student>");
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
reader.Read();
reader.Skip();
reader.ReadStartElement();
Console.WriteLine("展开实体:");
reader.ResolveEntity();
//使用ResolveEntity方法解析EntityReference节点的实体引用
Console.WriteLine("实体的替换文本以一文本节点格式返回。");
reader.Read();
Console.WriteLine("节点类型:"+reader.NodeType+";值为:"+reader.Value);
Console.WriteLine("EndEntity信息:");
reader.Read();
Console.WriteLine("节点类型:"+reader.NodeType+";值为:"+reader.Value);
reader.Close();
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
Console.WriteLine();
Console.WriteLine("读取具有实体引用节点的属性:");
reader.MoveToAttribute("test");
while (reader.ReadAttributeValue())
//使用ReadAttributeValue方法将属性值分析为一个或多个Text、EntityReference或EndEntity节点
{
if (reader.NodeType==XmlNodeType.EntityReference) Console.WriteLine("节点类型:"+reader.NodeType+" ;名称:"+reader.Name);
else
Console.WriteLine("节点类型:"+reader.NodeType+";值:"+reader.Value);
}
reader.Close();
Console.ReadLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -