例如,我有以下类型的条件:如何检查是否一个元素标签是结束元素
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验证它的结束标记部件1。看到我的代码在下面张贴:http://stackoverflow.com/questions/34274568/how-to-read-an-xml-file-by-using-xmlreader-in-c-sharp – jdweng