.net与XML之"读" ——"XmlTextReader"
本来一直在看.net空间开发的,遇到视图那点看着有点处理,就先放那了,来看看.net与xml,这些就当做笔记了
参考书:《xml完全开发指南》,北京科海电子出版社的

Code
using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Xml;



namespace XMLConsoleApplication


{

class Program

{

static void Main(string[] args)

{

StringBuilder stringInfo = new StringBuilder();



XmlTextReader reader = new XmlTextReader("e:\\test.xml");



while (reader.Read())

{

//元素节点的起始

if (reader.NodeType == XmlNodeType.Element)

{

//忽略person和people

if (reader.Name != "person" && reader.Name != "people")

{

//如果是category元素,则开始一个新的段落

if (reader.Name == "category")

{

stringInfo.Append("\n");

}

}

}

//处理文本节点

else if (reader.NodeType == XmlNodeType.Text)

{

stringInfo.Append(reader.Value + "\n");

}

//处理文本节点的结尾

else if (reader.NodeType == XmlNodeType.EndElement)

{

//如果是email节点,添加结束段落标记

if (reader.Name == "email")

{

stringInfo.Append("\n");

}

}



}

//输出

Console.WriteLine(stringInfo);

reader.Close();

}

}

}
xml文件

test.xml
<?xml version = "1.0" encoding = "GB2312"?>
<people>
<person>
<category>朋友</category>
<name>Jim</name>
<phone>123456</phone>
<email>jim@163.com</email>
</person>
<person>
<category>家人</category>
<name>brother</name>
<phone>147258</phone>
<email>john@163.com</email>
</person>
<person>
<category>student</category>
<name>张三</name>
<phone>369852</phone>
<email>张三@163.com</email>
</person>
<person>
<category>朋友</category>
<name>李斯</name>
<phone>789644</phone>
<email>李斯@163.com</email>
</person>
</people>
参考书:《xml完全开发指南》,北京科海电子出版社的
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;


namespace XMLConsoleApplication

{
class Program
{
static void Main(string[] args)
{
StringBuilder stringInfo = new StringBuilder();


XmlTextReader reader = new XmlTextReader("e:\\test.xml");


while (reader.Read())
{
//元素节点的起始
if (reader.NodeType == XmlNodeType.Element)
{
//忽略person和people
if (reader.Name != "person" && reader.Name != "people")
{
//如果是category元素,则开始一个新的段落
if (reader.Name == "category")
{
stringInfo.Append("\n");
}
}
}
//处理文本节点
else if (reader.NodeType == XmlNodeType.Text)
{
stringInfo.Append(reader.Value + "\n");
}
//处理文本节点的结尾
else if (reader.NodeType == XmlNodeType.EndElement)
{
//如果是email节点,添加结束段落标记
if (reader.Name == "email")
{
stringInfo.Append("\n");
}
}


}
//输出
Console.WriteLine(stringInfo);
reader.Close();
}
}
}
<?xml version = "1.0" encoding = "GB2312"?>
<people>
<person>
<category>朋友</category>
<name>Jim</name>
<phone>123456</phone>
<email>jim@163.com</email>
</person>
<person>
<category>家人</category>
<name>brother</name>
<phone>147258</phone>
<email>john@163.com</email>
</person>
<person>
<category>student</category>
<name>张三</name>
<phone>369852</phone>
<email>张三@163.com</email>
</person>
<person>
<category>朋友</category>
<name>李斯</name>
<phone>789644</phone>
<email>李斯@163.com</email>
</person>
</people>

浙公网安备 33010602011771号