【发布时间】:2016-07-29 01:15:37
【问题描述】:
例如,我有以下类型的条件:
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。有没有另一种方法可以检查类型是否是结束元素?
【问题讨论】:
-
使用 xmlreader 读取 xml 有更好的方法。在以下帖子中查看我的代码:stackoverflow.com/questions/34274568/…
-
我认为该链接可能已损坏?