0

我有这样的xml文件

<Person>
    <Name>ABC</Name>
    <Title>Prof</Title>
    <Class>1</Class>
</Person>
<Person>
    <Name>XYZ</Name>
    <Title />
    <Class>2</Class>
</Person>

我的 C# 代码是这样的

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>Prof</title> or <title />
4

2 回答 2

0

答案是reader.IsEmptyElement()。请参阅XmlReader此处的文档http://msdn.microsoft.com/en-us/library/system.xml.xmlreader.aspx

于 2013-09-19T21:23:40.363 回答
0

使用示例代码的结构,您可以检查:

   case XmlNodeType.Element:
      if (reader.Name == "title") titleCount++;
      break;

如果您正在谈论计算非空值,那么您的计数也应基于!reader.IsEmptyElement().

于 2013-09-19T21:30:28.650 回答