2011-03-08 125 views
1

我想做一個使用xPath的foreach。它工作正常,循環通過XML。PHP SimpleXML循環問題

我的問題是我可以以某種方式使用while語句。我基本上需要找到某個屬性的每個值,但不是整個XML。我希望這個foreach在遇到某個屬性時停下來。

實施例:

<InvoiceRet> 

    <TxnID>23827-1290392819</TxnID> 
    <TimeCreated>2010-11-21T21:26:59-05:00</TimeCreated> 

     <InvoiceLineRet> 
      <TxnLineID>23829-1290392819</TxnLineID> 
     </InvoiceLineRet> 

     <InvoiceLineRet> 
      <TxnLineID>2382A-1290392819</TxnLineID> 
     </InvoiceLineRet> 

</InvoiceRet> 

<InvoiceRet> 

    <TxnID>2382F-1290392820</TxnID> 

     <InvoiceLineRet> 
      <TxnLineID>2382B-1290392819</TxnLineID> 
     </InvoiceLineRet> 

        <InvoiceLineRet> 
      <TxnLineID>2382B-1290392819</TxnLineID> 
     </InvoiceLineRet> 

</InvoiceRet> 

我基本上通過第一組的而不是第二組需要循環。所以我希望當它打到第二個時我可以停止循環。

問題是我不知道該怎麼做。

任何幫助將是偉大的。

謝謝!

+0

你試圖循環什麼元素?第一個中的? – Stephen 2011-03-08 06:05:53

+0

顯示的XML中沒有屬性。請澄清這個問題。 – Gordon 2011-03-08 08:36:04

+0

對不起,我不太清楚。我需要分別獲取中的每一箇中的所有。第一個中的所有都需要插入到SQL中,第一組中需要匹配的ID,然後第二組需要匹配第二組。謝謝 – Sequenzia 2011-03-08 13:22:47

回答

0

如果你只是一直想找到第一個,那麼你可以在獲得第一個之後打破它。

foreach ($TxnID as $t){ 
    echo $t; 
    break; 
} 
+0

對不起,我不太清楚。我需要分別獲取中的每一箇中的所有。第一個中的所有都需要插入到SQL中,第一組中需要匹配的ID,然後第二組需要匹配第二組。謝謝 – Sequenzia 2011-03-08 13:22:00