안녕하세요, PHP에서 simplexml을 사용하여 XML 피드를 구문 분석하려고합니다. 다음 XML 피드가 배치되어SimpleXML을 사용하여 다중 항목을 반복합니다.
부재 요소는 XML 문서에 반복해서 루프<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>
하지만 데이터는 변경 내부. 무슨 일을하려고하면 특정 회원에 대한 모든 데이터를 SQL 데이터베이스에 입력하는 것입니다. 그래서 이상적으로이 모든 것을 db에 한 줄에 입력하고 싶습니다. XML 피드에는 '전체'또는 '연결'과 같은 여러 멤버 유형이 포함되어 있습니다.
현재 모든 정회원을 반복하고이 특정 회원의 모든 데이터를 가져 오려고합니다. 테드 Bloggs에이 데이터 유형 A, B 및 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 />';
}}
난에있는 코드 세 부재 태그 데이터를 갖는 상기 각각의 부재에 대한 데이터는 세 부분으로 분리 된 부재 태그 각각으로 분할되고 순간은 각 루프에서 첫 번째 유형 (유형 A)의 데이터 만 가져올 수 있으며 모든 유형 A, B 및 C를 동일한 루프에 결합하려고합니다. 그래서 Ted Smith와 같은 각 멤버의 모든 데이터를 DB의 한 줄로 가져올 수 있습니다.