C# XML读取器解析一个标记时出现问题
我有这样的xml文件C# XML读取器解析一个标记时出现问题,c#,xml,xmlreader,C#,Xml,Xmlreader,我有这样的xml文件 <Person> <Name>ABC</Name> <Title>Prof</Title> <Class>1</Class> </Person> <Person> <Name>XYZ</Name> <Title /> <Class>2</Class> </
<Person>
<Name>ABC</Name>
<Title>Prof</Title>
<Class>1</Class>
</Person>
<Person>
<Name>XYZ</Name>
<Title />
<Class>2</Class>
</Person>
XMLReader reader = XmlReader.Create(new StringReader(xmlBlock));
while (reader.Read())
{
switch (reader.NodeType)
{
case XmlNodeType.Element:
//Do Something
break;
case XmlNodeType.Text:
//Do Something
break;
case XmlNodeType.EndElement:
//Do Something
break;
}
}
我如何在代码中识别title标记中有多少个标记
<title>Prof</title> or <title />
Prof或
答案是reader.IsEmptyElement()
。请参见此处的XmlReader
文档使用示例代码的结构,您可以检查:
case XmlNodeType.Element:
if (reader.Name == "title") titleCount++;
break;
如果你说的是计算非空值,那么也要基于
!reader.IsEmptyElement()
isEmptyNode()不是XmlReaderRight的一部分,我是说IsEmptyElement,我甚至链接到了API,没有注意到读写困难。