In PHP sind XML_PARSE und File_Get_Contents zwei häufig verwendete Funktionen, die zur Analyse von XML -Daten und zum Abholen von Dateien von Remote -URLs verwendet werden. Heute werden wir diskutieren, wie diese beiden Funktionen kombiniert werden können, um eine Remote -XML -Datei zu analysieren. Angenommen, wir erhalten Daten von einer Online -XML -Datei und verarbeiten sie.
Datei_get_Contents ist eine sehr bequeme Funktion, mit der der Inhalt einer angegebenen URL gelesen werden kann. Wenn wir XML -Dateien von einem Remote -Server abrufen müssen, können wir diese Funktion direkt verwenden.
<?php
// Fernbedienung XML Abgelegt URL
$url = 'http://m66.net/remote-file.xml';
// verwenden file_get_contents ErhaltenFernbedienung文件Inhalt
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// Zeigen Sie das erhaltene XML Inhalt
echo $xmlContent;
?>
Dieser Code zeigt, wie Sie Datei_get_Contents verwenden, um eine Remote -XML -Datei von m66.net zu erhalten. Wir definieren die Adresse der Remotedatei über $ URL und verwenden die Funktion "File_Get_Contents (), um den Inhalt der Datei zu lesen. Wenn die Lektüre fehlschlägt, geben wir die Fehlermeldung über die Funktion Die () aus.
In PHP wird die Funktion xml_parse verwendet, um XML -Daten zu analysieren. Es funktioniert, indem es XML -Zeichenfolgen in verarbeitbare Strukturen zerlegt. Wir können es verwenden, um Remote -XML -Dateien zu analysieren und die erforderlichen Informationen zu extrahieren.
<?php
// Fernbedienung XML Abgelegt URL
$url = 'http://m66.net/remote-file.xml';
// verwenden file_get_contents Erhalten XML Inhalt
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// erstellen XML Parser
$parser = xml_parser_create();
// Analyse XML Inhalt
if (!xml_parse($parser, $xmlContent, true)) {
die('Error: Failed to parse XML');
}
// 释放Parser资源
xml_parser_free($parser);
echo "XML 文件Analyse成功";
?>
Dieser Code verwendet zuerst File_Get_Contents , um den XML -Dateiinhalt zu erhalten, und erstellt dann einen XML -Parser über XML_PARSER_CREATE . Als nächstes wird XML_Parse verwendet, um XML -Inhalte zu analysieren. Denken Sie schließlich daran, XML_PARSER_FREE zu verwenden, um die Parser -Ressourcen zu veröffentlichen.
In praktischen Anwendungen erhalten und analysieren wir nicht nur XML -Dateien, sondern müssen auch Daten extrahieren. Unter der Annahme, dass unsere XML -Datei einige Produktinformationen enthält, können wir mit XML_PARSE die Daten analysieren und diese Informationen extrahieren.
<?php
// Fernbedienung XML Abgelegt URL
$url = 'http://m66.net/products.xml';
// verwenden file_get_contents Erhalten XML Inhalt
$xmlContent = file_get_contents($url);
if ($xmlContent === FALSE) {
die('Error: Unable to fetch XML file');
}
// erstellen XML Parser
$parser = xml_parser_create();
// Definieren Sie die Rückruffunktion,用于Analyse XML Inhalt
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;
}
// Setzen Sie die Rückruffunktion
xml_set_element_handler($parser, "startElement", "endElement");
xml_set_character_data_handler($parser, "characterData");
// Analyse XML Inhalt
if (!xml_parse($parser, $xmlContent, true)) {
die('Error: Failed to parse XML');
}
// 释放Parser资源
xml_parser_free($parser);
echo "XML 文件Analyse完成";
?>
In diesem Beispiel definieren wir mehrere Rückruffunktionen:
STARTELEMENT : Bei der Parsen an das <produkt> -Tag.
Endelement : Bei der Parsen an das </product> -Tag.
charakterdata : Wird verwendet, um Daten in Tags zu verarbeiten.