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

C# 检查xmlReader是否为具体的结束元素,c#,xml,xmlreader,C#,Xml,Xmlreader,我已经设置了xmlReader,可以检查某些元素,但是我找不到检查结束元素的方法,假设我想在开始元素之外为标记添加另一个case语句,我该怎么做?我确信这样的标签不会自动关闭 using (XmlReader reader = XmlReader.Create("perls.xml")) { while (reader.Read()) { // Only detect start elements. if (reader.IsStartElement())

我已经设置了xmlReader,可以检查某些元素,但是我找不到检查结束元素的方法,假设我想在开始元素之外为
标记添加另一个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=XmlReader.Create(“perls.xml”))
{
while(reader.Read())
{
//仅检测开始元素。
if(reader.IsStartElement())
{
//获取元素名称并打开它。
开关(reader.Name)
{
案例“perls”:
//检测此元素。
Console.WriteLine(“开始元素”);
打破
案例“第条”:
//检测此项目元素。
Console.WriteLine(“开始元素”);
//在此当前节点上搜索属性名称。
字符串属性=读卡器[“名称”];
if(属性!=null)
{
Console.WriteLine(“具有属性名称:”+属性);
}
//下一次阅读将包含文本。
if(reader.Read())
{
Console.WriteLine(“文本节点:+reader.Value.Trim());
}
打破
}
}
}
}

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

if (reader.NodeType == XmlNodeType.EndElement)
{
    ....
}
供参考: