jQuery를 이용한 XML 문서 파싱

jQuery를 이용하면 XML문서를 파싱하는 것은 상당히 쉬운 일입니다. DOM Access 하는 것과 동일하기 때문에 XML 파싱이라는 복잡한 일을 고민하지 않아도 되죠. 또한 일찍이 XPath CSS 3.0을 지원했기 때문에 더욱더 쉽게 원하는 정보를 추출 할 수 있습니다.

요즘에 LovelyBaking.com에 사진방을 만들면서 PHP를 이용해 XML을 가져오고 파싱해서 JSON파일로 변환해 저장하는 작업을 했는데 생각해 보니 JSON이 필요 없다는 생각이 들었습니다. 사용 한 XML문서는 Picasa 앨범의 RSS 파일입니다. RSS파일 내용을 보면 이미지들이 <media:group /> 속에 <media:title />, <media:content />, <media:thumbnail /> 와 같이 제목, 원본이미지, Thumbnail 이미지 등의 정보가 들어가 있습니다.

문제는 여기서 시작인데요, XML 태그에 namespace가 들어가 있더군요.

$('media:title', xmldoc).text();

쩝 위와 같이 하면 될까요???

대답은 NO. 그렇게 하면 오류는 발생하지 않는데 결과값은 0일겁니다.

어찌해야 하나??? …. 결국 구글에 물어 보았습니다. 역시 답이 있더군요. ^^ 태그에 namespace가 들어가 있는 경우 아래와 같이 selector를 사용하면 됩니다.

$('media\\:title', xmldoc).text();

나머지는 jQuery의 selector를 이용하거나 Attributes 함수를 이용하면 쉽게 추출 할 수 있습니다. XML 문서를 받아서 사진방의 DATA로 사용하기 완성 !! ^^

좋은 예제는 아니겠지만 혹시 어찌 했나 구경하실 분은 러브리베이킹/사진방의 소스를 보세요. 사이트 닫았습니다. ^^;;;

Advertisements

Published by: benant

WEB PROGRAMMER. PHP, ASP, XML, Javascript, VBScript, PL/SQL, MySQL, Oracle. scrollads.co.kr 새로운 모바일 광고 서비스. trenue.com 시스탬 트래이딩 서비스. blogman.co.kr 블로그 운영 관리 서비스. creget.co.kr 해외 상품 구매대행. 핫딜 정보 제공 서비스. fgshop.co.kr - 독립형 쇼핑몰 솔루션.

카테고리 Web태그, , 댓글 남기기

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중