As if nothing had happened...

뒤로 검색

php를 이용한 xml이용시 노드 확인 방법.

2009/04/07 11:33

SimpleXmlElement를 이용하면 xml element에 접근 하는 방법이 쉬워지지만
node가 존재 하지 않는 경우 난감해지는 일이 생긴다.
보통 Node no longer exists Filename 이런 에러가 나타난다.
이를 해결하기 위해서는.
어쩔 수 없이 무식한 방법을 쓰는 수 밖에 없었다.-_-
asXML을 이용해서 find로 찾아보려 했지만 받아지지 않는 경우도 있어서.
dom_import_simplexml 함수를 이용하여 dom node를 생성하고
childNodes를 받아서 하나하나 확인 해 보는 방법이다.-_-
여기서 주의 해야 할것은 XMLReader에 정의된 nodeType을 모든 child로 가져 온다는것이다.
따라서
if ($tempChild->item($i)->nodeType == XMLReader::ELEMENT && $tempChild->item($i)->nodeName == $pNodeName)
이런식으로 nodeType과 nodeName을 모두 같이 비교 해 주어야만 한다.
아 오전 내내 삽질.~_~

Tags

php, simplexml, xml, xml node check
이 페이지는 Textcube 1.9.1 로 구동됩니다 데스크탑 화면