例如,我有以下類型的條件:如何檢查是否一個元素標籤是結束元素
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