PHP에서 XML_PARSE 및 FILE_GET_CONTENTS는 각각 XML 데이터를 구문 분석하고 원격 URL에서 파일을 얻는 데 사용되는 두 가지 일반적으로 사용되는 기능입니다. 오늘 우리는이 두 기능을 결합하여 원격 XML 파일을 구문 분석하는 방법에 대해 논의 할 것입니다. 온라인 XML 파일에서 데이터를 가져 와서 처리한다고 가정하십시오.
file_get_contents는 지정된 URL의 내용을 읽는 데 사용할 수있는 매우 편리한 기능입니다. 원격 서버에서 XML 파일을 가져와야 할 때이 기능을 직접 사용할 수 있습니다.
<?php
// 원격 XML 더럽히는 URL
$url = 'http://m66.net/remote-file.xml';
// 사용 file_get_contents 얻으십시오원격文件콘텐츠
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// 얻은 것을 보여주십시오 XML 콘텐츠
echo $xmlContent;
?>
이 코드는 file_get_contents를 사용하여 m66.net 에서 원격 XML 파일을 얻는 방법을 보여줍니다. $ URL을 통해 원격 파일의 주소를 정의하고 file_get_contents () 함수를 사용하여 파일의 내용을 읽습니다. 읽기가 실패하면 Die () 함수를 통해 오류 메시지를 출력합니다.
PHP에서 XML_PARSE 기능은 XML 데이터를 구문 분석하는 데 사용됩니다. XML 문자열을 가공 가능한 구조로 나누어 작동합니다. 원격 XML 파일을 구문 분석하고 필요한 정보를 추출하는 데 사용할 수 있습니다.
<?php
// 원격 XML 더럽히는 URL
$url = 'http://m66.net/remote-file.xml';
// 사용 file_get_contents 얻으십시오 XML 콘텐츠
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// 만들다 XML 파서
$parser = xml_parser_create();
// 분석 XML 콘텐츠
if (!xml_parse($parser, $xmlContent, true)) {
die('Error: Failed to parse XML');
}
// 释放파서资源
xml_parser_free($parser);
echo "XML 文件분석成功";
?>
이 코드는 먼저 file_get_contents를 사용하여 XML 파일 내용을 얻은 다음 XML_PARSER_CREATE를 통해 XML 파서를 만듭니다. 다음으로 XML_PARSE는 XML 컨텐츠를 구문 분석하는 데 사용됩니다. 마지막으로 XML_PARSER_FREE를 사용하여 파서 리소스를 해제해야합니다.
실제 애플리케이션에서는 XML 파일을 획득하고 구문 분석 할뿐만 아니라 데이터를 추출해야합니다. XML 파일에 일부 제품 정보가 포함되어 있다고 가정하면 XML_PARSE를 사용하여 데이터를 구문 분석 하고이 정보를 추출 할 수 있습니다.
<?php
// 원격 XML 더럽히는 URL
$url = 'http://m66.net/products.xml';
// 사용 file_get_contents 얻으십시오 XML 콘텐츠
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// 만들다 XML 파서
$parser = xml_parser_create();
// 콜백 함수를 정의합니다,用于분석 XML 콘텐츠
function startElement($parser, $name, $attrs) {
if ($name == "PRODUCT") {
echo "<b>Product:</b><br>";
}
}
function endElement($parser, $name) {
if ($name == "PRODUCT") {
echo "<br>";
}
}
function characterData($parser, $data) {
echo $data;
}
// 콜백 함수를 설정하십시오
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");
// 분석 XML 콘텐츠
if (!xml_parse($parser, $xmlContent, true)) {
die('Error: Failed to parse XML');
}
// 释放파서资源
xml_parser_free($parser);
echo "XML 文件분석完成";
?>
이 예에서는 여러 콜백 함수를 정의합니다.
STARTELENTE : <Product> 태그에 구문 분석 할 때 호출됩니다.
EndElement : </product> 태그로 구문 분석 할 때 호출됩니다.
문자 데이터 : 태그로 데이터를 처리하는 데 사용됩니다.
관련 태그:
xml_parse file_get_contents