2026, 새로운 도약을 시작합니다.

PHP cUrl 이용 XML 파싱 채택완료

Copy




19

1

1

123

123456

0





15

2

2

456

456789

0



위와 같이 XML이 존재할 때

각 값을 파싱해 오는법은 알겠는데

혹시 예를들어서 lineNo 이 456일 때

해당 XML에 해당하는 nodeId인 456789를 가져오는 방법도 있을까요?

전체의 XML을 훑으면서 lineNo이 456인 곳의 nodeId만 추출하는 방법을 여쭙고 싶습니다!

답변 1개

채택된 답변
+20 포인트

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

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

님의 댓글이 정석이죠..
질문자님 부디 이방법을 사용하시길 저도 추천해봅니다.
답변 감사합니다.
알려주신 방법대로 해보겠습니다!

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고