test_xml.php
<?php
header("Access-Control-Allow-Origin:*"); // 크로스 도메인 요청 허용(설정을 하지 않았을 때 CORS 이슈 발생)
header("Content-type: text/xml"); // 응답 컨텐츠 타입 설정
$menu = "메뉴 이름";
if($menu == "") die('잘못된 요청입니다.');
/* get smenu data - end */
$menu_title = 메뉴이름;
function addCDATA($str)
{
return "<![CDATA[".$str."]]>";
}
if($dbTableName != ""){
$xml_header = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>".PHP_EOL;
$xml_header .= "<rss version=\"2.0\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\">".PHP_EOL;
$xml_header .= "<channel>".PHP_EOL;
$xml_header .= "<title>{$menu_title}</title>".PHP_EOL;
$xml_header .= "<link>주소".$menu."</link>".PHP_EOL;
$xml_header .= "<description>{$menu_title} 게시판</description>".PHP_EOL;
$xml_header .= "<language>ko</language>".PHP_EOL;
$xml_footer = "</channel>".PHP_EOL;
$xml_footer .= "</rss>";
$site_url = "주소".$menu."&mode=view";
$쿼리";
$db연결;
$xml_text = "";
for($i = 0; $i < count($dbData); $i++){
$link = $site_url."&no=".$db연결;
$xml_text .= "<item>".PHP_EOL;
$xml_text .= "<title>".$db연결."</title>".PHP_EOL;
$xml_text .= "<link>".addCDATA($link)."</link>".PHP_EOL;
$xml_text .= "<description>".addCDATA(strcut(str_replace("&nbsp;", "", $db연결), 200))."</description>".PHP_EOL;
$xml_text .= "<dc:date>".$db연결."</dc:date>".PHP_EOL;
$xml_text .= "<dc:creator>".$db연결."</dc:creator>".PHP_EOL;
$xml_text .= "</item>".PHP_EOL;
}
$xml = $xml_header.$xml_text.$xml_footer;
echo $xml;
}else{
die('존재하지 않는~');
}
?>
xml_parse.php
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php
$xml_file = "주소"; // https ~ test_xml.php
$parse_xml = simplexml_load_file($xml_file, 'SimpleXMLElement', LIBXML_NOCDATA);
// print_r($parse_xml);
foreach($parse_xml->channel->item as $item){
$memo = "".$item->description;
var_dump($memo);
}
?>
'PHP' 카테고리의 다른 글
mysql_fetch_array, mysqli_fetch_array 이중 출력 (0) | 2023.04.11 |
---|---|
n개씩 한묶음 반복문 돌리기 (0) | 2023.04.11 |
엑셀 파일 다운로드 자동변환 (0) | 2023.04.11 |
PHP 날짜 및 시간 계산(하루, 일주일, 한달, 다음달, 1년) (0) | 2023.04.11 |
foreach문 안에서 마지막 요소 문자열 (0) | 2023.04.11 |