📄 sample41.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("<student id='1' IdCare='123456789' birthday='1977-01-01' xmlns:lz='LiZe:123'>"
+"<name>Rose</name>"+"<dept>Computer</dept>"
+"<namespace ns='lz:aa'/>"+ "</student>");
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
string idCare = reader.GetAttribute("IdCare");
//使用GetAttribute方法获取属性的值
Console.WriteLine("该学生的身份证号:" + idCare);
Console.WriteLine("前缀lz的命名空间:"+reader.LookupNamespace("lz"));
//使用LookupNamespace方法解析当前元素的范围内的命名空间前缀
Console.WriteLine("根节点上的所有属性:");
if (reader.HasAttributes)
{
for (int i=0; i<reader.AttributeCount; i++)
{
reader.MoveToAttribute(i);
//用MoveToAttribute方法移动到指定索引的属性
Console.WriteLine(reader.Name+" = "+reader.Value);
}
reader.MoveToElement();
//使用MoveToElement方法移动到包含当前属性节点的元素
}
Console.WriteLine("根节点上的第一个属性:");
reader.MoveToFirstAttribute();
//使用MoveToFirstAttribute方法移动到第一个属性
Console.WriteLine(reader.Name+" = "+reader.Value);
reader.MoveToNextAttribute();
//使用MoveToNextAttribute方法移动到下一个属性
Console.WriteLine("根节点上第二个属性:");
Console.WriteLine(reader.Name+" = "+reader.Value);
reader.Read();
//使用Read方法从流中读取下一个节点
Console.WriteLine("根节点里第一个元素:");
Console.WriteLine(reader.ReadString());
//使用ReadString方法将元素或文本节点的内容读取为一个字符串
Console.WriteLine("根节点里第二个元素:");
Console.WriteLine (reader.ReadString());
reader.Close();
//使用Close方法将 ReadState 更改为 Closed
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
Console.WriteLine("将所有内容以一个字符串的形式表示:");
Console.WriteLine(reader.ReadInnerXml());
//使用ReadInnerXml方法将所有内容读取为一个字符串
Console.WriteLine();
reader.Close();
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
Console.WriteLine("读取表示该节点及其所有子级的内容(使用ReadOuterXml方法):");
Console.WriteLine (reader.ReadOuterXml());
//使用ReadOuterXml方法读取表示该节点及其所有子级的内容
reader.Close();
reader = new XmlNodeReader(testXD);
reader.MoveToContent();
Console.WriteLine();
Console.WriteLine("dept元素的内容:");
reader.Read();
reader.Skip();
//使用Skip方法跳过当前节点的子级
Console.WriteLine(reader.ReadOuterXml());
reader.Close();
Console.ReadLine();
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -