PHP cUrl 이용 XML 파싱
본문
<item>
<avgtm>19</avgtm>
<bstopIdx>1</bstopIdx>
<bstopnm>1</bstopnm>
<lineNo>123</lineNo>
<nodeId>123456</nodeId>
<rpoint>0</rpoint>
</item>
<item>
<avgtm>15</avgtm>
<bstopIdx>2</bstopIdx>
<bstopnm>2</bstopnm>
<lineNo>456</lineNo>
<nodeId>456789</nodeId>
<rpoint>0</rpoint>
</item>
위와 같이 XML이 존재할 때
각 값을 파싱해 오는법은 알겠는데
혹시 예를들어서 lineNo 이 456일 때
해당 XML에 해당하는 nodeId인 456789를 가져오는 방법도 있을까요?
전체의 XML을 훑으면서 lineNo이 456인 곳의 nodeId만 추출하는 방법을 여쭙고 싶습니다!
!-->
답변 1
$xml = "<data><item><avgtm>19</avgtm><bstopIdx>1</bstopIdx><bstopnm>1</bstopnm><lineNo>123</lineNo><nodeId>123456</nodeId><rpoint>0</rpoint></item>
<item><avgtm>15</avgtm><bstopIdx>2</bstopIdx><bstopnm>2</bstopnm><lineNo>456</lineNo><nodeId>456789</nodeId><rpoint>0</rpoint></item></data>";
$result_xml = simplexml_load_string($xml);
for($i=0;$i<sizeof($result_xml);$i++) {
if($result_xml->item[$i]->lineNo == 456)
$nodeId = $result_xml->item[$i]->nodeId;
}
echo $nodeId;
즉, $nodeId를 이용하면 되겠습니다.
답변을 작성하시기 전에 로그인 해주세요.