使用XDocument使用後代遍歷XML文檔如何確定我處於父項的最後一個孩子?XDocument確定父項的最後一個孩子
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節點時,我都可以做一些事情。
「所以,每當我點擊Name節點或Note節點時,例如我就可以做一些事情。」目前還不清楚爲什麼'Name'節點可以符合條件,因爲在這兩種情況下,在您的示例XML中都有一個兄弟節點。 – dasblinkenlight 2012-07-09 20:29:26
我需要更具體一些......每當我遇到兄弟姐妹或父母而沒有兄弟姐妹時,我需要做一些事情,一旦我到達層次結尾。當我循環時,我想我需要提前閱讀並確認它是否是兄弟姐妹(真正確定它的關係),但不知道如何去做。 – PMOrion 2012-07-09 20:35:31
我沒有明白。你想要每個「Name」節點和每個「Note」節點? – Batuu 2012-07-09 20:47:20