例如,我有以下类型的条件:
我想要做的是,如果在
if (reader.IsStartElement("element1"))
{
while (true)
{
if (reader.IsStartElement("element2"))
{
// Doing stuff
reader.ReadEndElement(); //closes element2 tag
}
else if (reader.IsStartElement("element3"))
{
// Doing stuff
reader.ReadEndElement(); //closes element3 tag
}
else if ((!reader.IsStartElement("element2"))
&& (!reader.IsStartElement("element3"))
&& (!reader.IsEndElement("element1"))) // THIS IS MY ISSUE
{
throw new XmlException("exception");
}
else
{
reader.ReadEndElement(); //closes element1 tag
}
}
}
我的XML使用以下格式编写:
<element1>
<element2>
</element2>
<element3>
</element3>
</element1>
我想要做的是,如果在
element1
内读取的元素既不是element2
也不是element3
,并且不是element1
的结束元素标签,则抛出我编写的异常。问题是我找不到一种检查XmlReader中结束元素标签的方法。我可以使用reader.IsStartElement
来检查开始元素标签,但无法使用reader.IsEndElement
。是否有其他方法可以检查类型是否为结束元素?