检查xmlReader是否是具体的结束元素

本文关键字:结束 元素 xmlReader 是否是 检查 | 更新日期: 2023-09-27 18:04:00

我已经设置了xmlReader,可以检查某些元素,但我找不到一种方法来检查关闭元素,让我说我想要</perls>标记的另一个case语句除了它的打开一个,我怎么能做到这一点?我知道这样的标签是不会自动关闭的。

using (XmlReader reader = XmlReader.Create("perls.xml"))
{
    while (reader.Read())
    {
    // Only detect start elements.
    if (reader.IsStartElement())
    {
        // Get element name and switch on it.
        switch (reader.Name)
        {
        case "perls":
            // Detect this element.
            Console.WriteLine("Start <perls> element.");
            break;
        case "article":
            // Detect this article element.
            Console.WriteLine("Start <article> element.");
            // Search for the attribute name on this current node.
            string attribute = reader["name"];
            if (attribute != null)
            {
            Console.WriteLine("  Has attribute name: " + attribute);
            }
            // Next read will contain text.
            if (reader.Read())
            {
            Console.WriteLine("  Text node: " + reader.Value.Trim());
            }
            break;
        }
    }
    }
}

检查xmlReader是否是具体的结束元素

简单检查NodeType是否等于XmlNodeType.EndElement,如:

if (reader.NodeType == XmlNodeType.EndElement)
{
    ....
}

参考:http://www.codingeverything.com/2013/05/extending-xmlreader-class-isendelement.html