確認するだけの場合は、代わりにXmlDocumentを使用してください...理解しやすく、コーディングしやすいことがわかりました。
XmlDocument doc = new XmlDocument();
doc.LoadXml("YourDocument");
XmlNode root = doc.FirstChild;
if (root.HasChildNodes)
{
// Do something...
}
読者:
using (XmlReader reader = ...)
{
while (reader.Read())
{
if ((reader.NodeType == XmlNodeType.Element) && (reader.Name == ...))
{
Int32 childrenCount = CountChildred(reader, XmlNodeType.Element);
// Your code...
public static Int32 CountChildred(XmlReader node, XmlNodeType type)
{
Int32 count = 0;
Int32 currentDepth = node.Depth;
Int32 validDepth = currentDepth + 1;
while (node.Read() && (node.Depth != currentDepth))
{
if ((node.NodeType == type) && (node.Depth == validDepth))
++count;
}
return count;
}