Muliple girişleri döngü SimpleXML kullanma

0 Cevap php

Hi Im trying to parse an xml feed using simplexml in php. The xml feed is laid out as follows:

<Member>
    <MemberType>Full</MemberType>
    <JoinDate>2010-06-12</JoinDate>
    <DataType>A</DataType>
    <Data>
        <FirstName>Ted</FirstName>
        <LasttName>Smith</LasttName>
        <Data1>56</Data1>
        <Data2>100</Data2>
        <Data3>120</Data3>
    </Data>
</Member>
<Member>
    <MemberType>Full</MemberType>
    <JoinDate>2010-06-12</JoinDate>
    <DataType>B</DataType>
    <Data>
        <FirstName>Ted</FirstName>
        <LasttName>Smith</LasttName>
        <Data1>57</Data1>
        <Data2>110</Data2>
        <Data3>130</Data3>
    </Data>
</Member>
<Member>
    <MemberType>Full</MemberType>
    <JoinDate>2010-06-12</JoinDate>
    <DataType>C</DataType>
    <Data>
        <FirstName>Ted</FirstName>
        <LasttName>Smith</LasttName>
        <Data4>58</Data4>
        <Data5>115</Data5>
        <Data6>230</Data6>
    </Data>
</Member>

üye elemanı xml doc tekrar tekrar döngüler, ama içindeki verileri değiştirir nerede. Ne yapmaya çalışıyor im bir sql veritabanına bazı üyeleri için tüm verileri girmektir. Yani ideal i tüm db tek bir satırında bu girmek istiyorum. Xml feed 'tam' veya 'ortak' gibi farklı üye türlerini içerir.

Şu anda ben bütün tam üyeleri aracılığıyla döngü çalışıyor, ve bu belirli bir eleman için tüm verileri elde ediyorum. Her üye için verileri üç bölümden yüzden Ted Bloggs üzerinde ayrı bir üye etiketi ile her içine kadar kırık var Datatipi A, B ve C üç üyesi etiketleri, veri

$PLF = simplexml_load_file('../XML/Members.xml');

foreach ($PLF->Root->xpath('//Member') as $member) {

    if ($member->MemberType == 'Full') {


        echo $member->MemberType.'<br/>';
        echo $member->JoinDate.'<br />';
        echo $member->DataType.'<br/>';
        echo $member->Data->FirstName.'<br/>';
        echo $member->Data->LastName.'<br/>';
        echo $member->Data->Data1.'<br/>';
        echo $member->Data->Data2.'<br/>';
        echo '<br />';


        }}

an i have kodu yalnızca her döngüde ilk tip (tip A) veriyi çekip, ve ben gerçekten aynı döngünün içine her türlü A, B, ve C birleştirmek istiyorum. Yani ben DB bir satır içine Ted Smith gibi her üye için tüm verileri alabilirsiniz.

0 Cevap