xml 파싱 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

xml 파싱 정보

xml 파싱

본문

안녕하세요

고수님들께 문의 드리고자 합니다.


5개  미용뉴스 사이트에서 RSS를 제공 하고 있고 그 파일들을 읽어 들여서 한개 사이트당 3개씩 최근게시물 리스트형식으로 출력을 하고 싶은데요
도저히 방법을 모르겠습니다.

http://www.dailycosmetic.com/rss/allArticle.xml

이런형식으로 RSS지원이 되는것 같습니다.

고수님들의 도움이 필요합니다.



댓글 전체

예전에 만들어 놓은게 하나 있긴한다..^^

http://rinix.co.kr/XML_parser.php


XML_parser.php


<?
include_once("./RX_parser.lib.php");

$file = "http://news.google.co.kr/news?pz=1&ned=kr&hl=ko&topic=e&output=rss";
$url = $_POST['url'];
$select = $_POST['select'];
$set = $_POST['set'];

if(!$select) $select = "data";
if(!$url) $url = $file;

function xmp($data){
	
	echo "<xmp>";
	print_r($data);
	echo "</xmp>";
}

$rinix = RX_perser($url, "euc-kr", $select, $set);

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=euc-kr">
<title>RINIX XML Parser</title>
<style type="text/css">
<!--
body {
	margin-left: 0px;
	margin-top: 0px;
	margin-right: 0px;
	margin-bottom: 0px;
}
.title {
	background-color: #666;
	margin: 5px;
	padding: 5px;
	border: 1px dashed #000;
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 11px;
	line-height: 18px;
	color: #FFF;
}
.form {
	background-color: #F7F7F7;
	margin: 5px;
	padding: 5px;
	border: 1px dashed #D9D9D9;
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 11px;
	line-height: 18px;
}
.url {
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 11px;
	padding-right: 5px;
	padding-left: 5px;
	width: 100%;
}
.RSS {
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 12px;
	line-height: 23px;
	color: #333;
	background-color: #FFF;
	border: 1px solid #D9D9D9;
	padding: 10px;
	margin: 5px;
}
.xmp {
	margin: 5px;
	padding: 5px;
	border: 1px dashed #E1E1E1;
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 11px;
	line-height: 18px;
}
.copy {
	background-color: #F7F7F7;
	margin: 5px;
	padding: 5px;
	border: 1px dashed #D9D9D9;
	font-family: "돋움", "굴림", "나눔고딕";
	font-size: 11px;
	line-height: 18px;
	text-align: center;
}
a:link {
	color: #FFF;
}
a:visited {
	color: #FFF;
}
a:hover {
	color: #FFF;
}
a:active {
	color: #FFF;
}
-->
</style></head>

<body>

<div class="title">XML 파서.<br> 
  xml 문서를 배열 로 저장하여 출력합니다.<br>
배열 저장은 xml 파일의 구조와 동일 합니다.<br>
아래 입력 폼에 xml 또는 RSS 주소를 입력하세요.<br>
<br>
기본 페이지는 Google 뉴스 한국 - 연예 RSS 정보 입니다.<br>
<br>
※ 문의 사항은 <a href="http://www.rinix.co.kr">http://www.rinix.co.kr</a></div>
<div class="form"><form action="#" method="post" enctype="multipart/form-data" name="xml_form">
  <table width="700" border="0" cellspacing="5" cellpadding="0">
    <tr>
      <td width="170" align="center">선&nbsp;&nbsp;&nbsp;택</td>
      <td align="center">주&nbsp;&nbsp;&nbsp;소</td>
      <td width="200" align="center" valign="middle">문서 언어셋 지정</td>
      <td width="90" align="center" valign="middle">&nbsp;</td>
    </tr>
    <tr>
      <td align="center">ALL <input type="radio" name="select" id="select" value="all" <? if($select == "all") echo "checked"; ?>> DATA <input name="select" type="radio" id="select" value="data" <? if($select == "data") echo "checked"; ?>> ATTR <input type="radio" name="select" id="select" value="attr" <? if($select == "attr") echo "checked"; ?>></td>
      <td align="right"><input type="text" name="url" id="url" class="url" value="<?=$url?>"></td>
      <td align="center" valign="middle"><input type="text" name="set" id="set"></td>
      <td align="center" valign="middle"><input type="submit" name="button" id="button" value="확 인" style="width:60px;"></td>
      </tr>
  </table>
</form></div>
<? 
$rx = $rinix[rss][channel];

if($select == "data"){  
if($rx[title]){
?>
<div class="RSS"><table width="100%" border="0" cellspacing="10" cellpadding="0">
  <tr>
  <? if($rx[image][url]){ ?>
    <td><a href="<?=$rx[image][link]?>" target="_blank"><img src="<?=$rx[image][url]?>" title="<?=$rx[image][title]?>" ></a></td>
  <? } ?>
    <td width="100%">
	<?=$rx[title]?><br>
   <? if($rx[link]){ ?> <a href="<?=$rx[link]?>" target="_blank"><span style="color:#F60"><?=$rx[link]?></span></a><br><? } ?>
     <? if($rx[webmaster]){ ?><a href="mailto:<?=$rx[webmaster]?>"><span style="color:#CCC"><?=$rx[webmaster]?></span></a><? } ?></td>
  </tr>
</table>
</div>
<? } 
}
if($select == "all"){  
if($rx[title][data]){
?>
<div class="RSS"><table width="100%" border="0" cellspacing="10" cellpadding="0">
  <tr>
  <? if($rx[image][url][data]){ ?>
    <td><a href="<?=$rx[image][link][data]?>" target="_blank"><img src="<?=$rx[image][url][data]?>" title="<?=$rx[image][title][data]?>" ></a></td>
  <? } ?>
    <td width="100%">
	<?=$rx[title][data]?><br>
   <? if($rx[link][data]){ ?> <a href="<?=$rx[link][data]?>" target="_blank"><span style="color:#F60"><?=$rx[link][data]?></span></a><br><? } ?>
     <? if($rx[webmaster][data]){ ?><a href="mailto:<?=$rx[webmaster][data]?>"><span style="color:#CCC"><?=$rx[webmaster][data]?></span></a><? } ?></td>
  </tr>
</table>
</div>
<? } 
}
?>


<div class="xmp"><? xmp($rinix); ?></div>
<div class="copy">Copyright ⓒ rinix.co.kr/rinix All rights reserved.</div>
</body>
</html>
RX_parser.lib.php 파일 만드셔서 인크루드 시키시고.

함수명은

$data = RX_perser(주소, 서버언어, data, xml파일언어);


몇년전에 만들어 놓은거라..ㅋㅋ 기억이잘..ㅋㅋ

마지막 xml파일언어 없어두 될꺼예요..^^

$data 안에 배열로 저장됩니다.

키값은 xml문서와 동일 합니다.

잘 모르실경우


<xmp>
<? print_r($data); ?>
</xmp>


위와 값이 하시면 배열 값을 상새하게 보실수 있습니다...^^

도움이 되었길 바랍니다..^^
안녕하세요 답변주셔서 감사합니다

말씀대로 파일을 두개 만들어 해 봤는데 아무것도 안나옵니다.

http://beautyway.co.kr/XML_parser.php

그리고 RX_parser.lib.php 소스를 드림위버에서 열때 문법오류가 생기고요
뭐가 문젠지 모르겠습니다.
http://sir.co.kr/bbs/board.php?bo_table=g4_plugin&wr_id=14841&page=0&posting=ok&sca=&sfl=&stx=&sst=&sod=&spt=0&page=0

파일 올렸습니다..^^
예전에 만든거라 찾기 힘들었습니다.
그리구 제가 막아놨었네요..^^

막은 부분은 삭제 했습니다...^^
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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