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!
}
但是我知道这种方法并不那么优雅,如果特定标签不需要属性,它可能会失败。
答案 0 :(得分:4)
我没试过这个,希望这会有所帮助:
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
}
}
答案 1 :(得分:1)
XmlNodeType.Element
对应于打开节点。 XmlNodeType.EndElement
用于关闭节点。