【发布时间】:2009-10-11 23:30:36
【问题描述】:
我正在使用 XmlReader 读取 XML 文件,并且我想在 Document Element 正下方计算 XML Element,据我所知它应该是根元素。
XML
<?xml version="1.0" encoding="utf-8"?>
<NewsLetters>
<EMail Date="10/10/2009">hello@hello.com</EMail>
<EMail Date="10/10/2009">hello@hello.com</EMail>
<EMail Date="10/10/2009">hello@hello.com</EMail>
<EMail Date="10/10/2009">hello@hello.com</EMail>
</NewsLetters>
C# 代码:
public static string TotalMemberCount()
{
XmlTextReader reader = new XmlTextReader(HttpContext.Current.Server.MapPath("~/Newsletter/NewsLetter.xml"));
int totalCount = 0;
while (reader.Read())
{
if (reader.NodeType == XmlNodeType.Element && reader.NodeType != XmlNodeType.Document)
totalCount++;
}
return totalCount.ToString();
}
通常我期待 4 条记录,但它返回 5,因为它也计算根元素。我应该怎么做?其实我知道怎么用 XDocument,XElement 和 LINQ 来解决,但是我想用这种方式解决,不要问我为什么,因为我想学习所有可以解决这些问题的方法。
提前致谢。
真诚的......
【问题讨论】:
-
没有答案?令人难过...