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

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을 모두 같이 비교 해 주어야만 한다.
아 오전 내내 삽질.~_~

Posted by SADBLUE

2009/04/07 11:33 2009/04/07 11:33
, , ,
Response
0 Trackbacks , 0 Comments
RSS :
http://sadblue.com/rss/response/245

Trackback URL : http://sadblue.com/trackback/245


블로그 이미지

난 평생 녹지 않는 눈 속에서 살아갈게... 너와 본 꿈을 잊지 않도록.... As if nothing had happened...

- SADBLUE

Notices

Archives

Authors

  1. SADBLUE

Recent Trackbacks

  1. 드디어 내 손에!!! Clean out. As if nothing h... 2010

Calendar

«   2024/11   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30

Site Stats

Total hits:
2243565
Today:
1544
Yesterday:
1044