PHP cUrl 이용 XML 파싱

PHP cUrl 이용 XML 파싱

QA

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를 이용하면 되겠습니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 85
QA 내용 검색
filter ##php ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT