2011-03-08 3 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> 

I는 기본적으로 제 세트가 아닌 두 번째 세트를 통해 반복 할 필요가있다. 그래서 두 번째를 맞을 때 루프를 멈출 수 있기를 바랬습니다.

문제는 어떻게해야할지 모릅니다.

도움이 될 것입니다.

감사합니다.

+0

어떤 요소를 반복하려고합니까? 첫 번째 Stephen

+0

표시된 XML에는 속성이 없습니다. 질문을 분명히하십시오. – Gordon

+0

죄송합니다. 명확하지 않았습니다. 각각 각각에 을 모두 가져와야합니다. 첫 번째 집합의 은 모두 첫 번째 집합과 일치하는 ID로 SQL에 삽입되어야하며 두 번째 집합은 두 번째 집합과 일치해야합니다. 감사합니다 – Sequenzia

답변

0

항상 첫 번째 것을 얻으려는 경우 첫 번째 얻은 후에 루프를 깰 수 있습니다.

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

죄송합니다, 명확하지 않았습니다. 각각 각각에 을 모두 가져와야합니다. 첫 번째 집합의 은 모두 첫 번째 집합과 일치하는 ID로 SQL에 삽입되어야하며 두 번째 집합은 두 번째 집합과 일치해야합니다. 감사 – Sequenzia