.net与XML之"读" ——"XmlTextReader"
本来一直在看.net空间开发的,遇到视图那点看着有点处理,就先放那了,来看看.net与xml,这些就当做笔记了
参考书:《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文件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();
}
}
}
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 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>