正在加载 Google 自定义搜索...

时代互联|域名注册|虚拟主机|主机|企业邮箱|服务器租用|短信平台 CNNIC金牌注册服务机构,ICANN认证的顶级域名注册商,微软SPLA认证运营商

ASP.NET 与 XML-XmlTextReader

作者:vkvi 来源:千一网络(原创) 时间:2008-4-22

XmlTextReader 用于快速的只进的读取 XML。

XmlTextReader 的名称空间是:

System.Xml

应用示例

XmlTextReader reader = new XmlTextReader(xmlFragment, XmlNodeType.Element, null);
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element)
    {
     if (reader.Name == "state")
{
State = (SendingShipState)Convert.ToInt32(reader.ReadString());
}
else if (reader.Name == "message")
{
MyMessage.AnalyzeXml(reader.ReadInnerXml());
}
else if (reader.Name == "writer")
{
Writer = reader.ReadString();
}
}
}
reader.Close();

XmlTextReader 有多个构造函数,参数可以使用 Url(网址或文件路径)、Stream、TextReader、XML 字符串等,这里使用的是 XML 字符串。

XmlTextReader 是不允许后退的,所以使用 reader.Read() 从前往后读,再判断当前已经读取的节点的类型,注意:Whitespace 也是一种节点。

然后我们再根据 Name 属性值判断标签名称,比如 <root> 的 Name 属性值是 root。

MyMessage.AnalyzeXml(reader.ReadInnerXml()); 这里我们将该节点下面的所有 XML 内容交给另一个对象处理。

取属性值

XmlTextReader reader = new XmlTextReader("data.xml");
while (reader.Read())
{
    if (reader.NodeType == XmlNodeType.Element && reader.Name == "category")
    {
        MessageBox.Show(reader.GetAttribute("text"));
    }
}
reader.Close();

相关阅读

订阅千一,精彩随你。

  • 订阅到 Google
  • 订阅到 QQ 邮箱
  • 订阅到有道
  • 订阅到雅虎
  • 订阅到鲜果
  • 订阅到抓虾
  • 订阅到哪吒
  • 订阅到九点
  • 订阅到 bloglines
  • 订阅到 newsgator
文章评论
  • 评论
标题:必填
内容:
请您投票

给文章打分,表达您的观点。

ezj 轻松、快捷的 JavaScript 框架
配置 IIS 6、IIS 7 中的 ASP.NET 虚拟主机