使用XDocument遍历XML文档的子元素,如何确定当前子元素是其父元素的最后一个子元素?
XDocument xmlDoc = XDocument.Parse(xml)
foreach (var element in xmlDoc.Descendants())
{
//Need to determine the last child of the parent and do something here.
}
XML示例及预期返回结果。我需要动态遍历文档,而不指定XPath或Xquery,因为这些将通用地用于各种XML文档,而不涉及太多细节...只是想看看是否可以使用XDocument来实现这一点,或者是否有更好的方法,仍然不指定XPath或XQuery中的标记名称,除非可以在不知道文档可能有多少级深度的情况下动态完成。
<?xml version="1.0"?>
<Root>
<Customer>
<CustID>1</CustID>
<Name>Smith, Joe</Name>
<CustomerTransDetail>
<CustID>1</CustID>
<CustTransID>1</CustTransID>
<Note>NA</Note>
</CustomerTransDetail>
<CustomerTransDetail>
<CustID>1</CustID>
<CustTransID>2</CustTransID>
<Note>N/A</Note>
</CustomerTransDetail>
</Customer>
<Customer>
<CustID>2</CustID>
<Name>Smith, Jane</Name>
<CustomerTransDetail>
<CustID>2</CustID>
<CustTransID>1</CustTransID>
<Note>N/A</Note>
</CustomerTransDetail>
<CustomerTransDetail>
<CustID>2</CustID>
<CustTransID>2</CustTransID>
<Note>N/A</Note>
</CustomerTransDetail>
</Customer>
</Root>
我需要知道何时到达父级的最后一个子节点,以便可以执行某些操作。例如,每次到达Name节点或Note节点时我都可以做一些事情。