确定XmlTextReader.Read()是否读取结束标记
本文关键字:读取 结束 是否 XmlTextReader Read 确定 | 更新日期: 2023-09-27 18:03:39
Using XmlTextReader.Read()
,我如何确定阅读器读取的是结束/结束标记?
请注意,我不是在寻找XmlTextReader.IsEmptyElement的用法。我正在寻找验证是否给定以下XML:
<thistag what="nothing">
<inside color="cyan"/>
</thistag>
我可以确定我读取的thistag
标记是开始标记还是结束/结束标记吗?
到目前为止,我的解决方案涉及检查what
属性的存在:
if (reader.GetAttribute("what") == null)
{
// it's an end tag!
}else{
// it's a start tag!
}
但是我知道这种方法不是那么优雅,如果特定标记不需要属性,它可能会失败。
我还没有试过,希望这能有所帮助:
XmlTextReader reader = null;
reader = new XmlTextReader(filename);
while (reader.Read())
{
if(reader.NodeType==XmlNodeType.Element) // for opening tag
{
//your code
}
else if(reader.NodeType==XmlNodeType.EndElement) // for closing tag
{
//your code
}
}
XmlNodeType.Element
对应开口节点。XmlNodeType.EndElement
为关闭节点