Hi Je tente d'analyser un flux xml à l'aide de simplexml en php. Le flux xml est aménagé comme suit:Utilisation de SimpleXML pour effectuer une boucle sur plusieurs entrées
<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>
où l'élément membre boucle sur et encore dans le doc xml, mais les données à l'intérieur change. Ce que j'essaie de faire est d'entrer toutes les données pour certains membres dans une base de données SQL. Donc, idéalement, je veux entrer tout cela dans une ligne dans la DB. Le flux xml contient différents types de membres, tels que "complet" ou "associé". En ce moment, j'essaie de parcourir tous les membres à part entière et d'obtenir toutes les données pour ce membre en particulier. Les données pour chaque élément est divisé en trois parties chacune avec un marqueur élément séparé, de sorte que ci-dessus Ted Bloggs a des données en trois balises membres, où le type de données est A, B et C
$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 />';
}}
le code i ai au moment ne peut que tirer des données du premier type (type A) dans chaque boucle, et je veux vraiment combiner tous les types A, B et C dans la même boucle. Donc, je peux obtenir toutes les données pour chaque membre comme Ted Smith en une seule ligne dans la base de données.