asp.net core|asp.net XmlTextReader 解析xml文档实例

更新时间:2017-05-06    来源:XML应用    手机版     字体:

【www.bbyears.com--XML应用】

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 属性值判断标签名称,比如 的 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();

本文来源:http://www.bbyears.com/jiaocheng/32422.html

猜你感兴趣