1. Allgemeine Protokolle verstehen:
Das Obige stellt die Funktionsweise von XML in PHP vor. XML wird häufig verwendet, einschließlich Webserver, Wettervorhersage und objektorientierter Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.
FTP (File Transfer Protocol): Remote-Dateiübertragungsprotokoll, das es Benutzern ermöglicht, Dateien vom Remote-Host auf ihren eigenen Computer zu kopieren.
SMTP (Simple Mail Transfer Protocol): Simple Mail Transfer Protocol, das zum Übertragen von E-Mails verwendet wird.
NFS (Network File Server): Netzwerkdateiserver, der es mehreren Computern ermöglicht, transparent auf die Verzeichnisse des anderen zuzugreifen.
HTTP Hypertext Transfer Protocol:
HTTP ist ein objektorientiertes Protokoll, das zur Anwendungsschicht gehört. Aufgrund seiner einfachen und schnellen Art eignet es sich für verteilte Hypermedia-Informationssysteme. Es wurde 1990 vorgeschlagen und nach mehreren Jahren der Nutzung und Entwicklung kontinuierlich verbessert und erweitert. Die sechste Version von HTTP/1.0 wird derzeit im WWW verwendet und die Standardisierungsarbeiten von HTTP/1.1 sind im Gange
Die Hauptmerkmale des HTTP-Protokolls lassen sich wie folgt zusammenfassen:
1. Unterstützung von Client/Server Modus.
2. Einfach und schnell: Wenn ein Client einen Dienst vom Server anfordert, muss er nur die Anforderungsmethode und den Pfad übermitteln. Häufig verwendete Anforderungsmethoden sind GET, HEAD und POST. Jede Methode spezifiziert eine andere Art von Kontakt zwischen dem Client und dem Server.
Aufgrund der Einfachheit des HTTP-Protokolls ist die Programmgröße des HTTP-Servers gering und die Kommunikationsgeschwindigkeit sehr hoch.
3. Flexibel: HTTP ermöglicht die Übertragung jeglicher Art von Datenobjekten. Der zu übertragende Typ wird durch Content-Type gekennzeichnet.
4. Keine Verbindung: Die Bedeutung von „Keine Verbindung“ besteht darin, jede Verbindung auf die Verarbeitung nur einer Anfrage zu beschränken. Nachdem der Server die Anfrage des Clients verarbeitet und die Antwort des Clients empfangen hat, wird die Verbindung getrennt. Diese Methode spart Übertragungszeit.
5. Zustandslos: Das HTTP-Protokoll ist ein zustandsloses Protokoll. Zustandslos bedeutet, dass das Protokoll über keine Speicherkapazität für die Transaktionsverarbeitung verfügt. Das Fehlen eines Status bedeutet, dass, wenn für die nachfolgende Verarbeitung die vorherigen Informationen erforderlich sind, diese erneut übertragen werden müssen, was zu einer Erhöhung der pro Verbindung übertragenen Datenmenge führen kann. Andererseits reagiert der Server schneller, wenn er keine vorherigen Informationen benötigt.
2. XML verstehen:
Als XML (Extensible Markup Language) im Februar 1998 in der Softwarebranche eingeführt wurde, eroberte es die gesamte Branche im Sturm. Zum ersten Mal steht der Welt ein universelles und anpassungsfähiges Format zur Strukturierung von Dokumenten und Daten zur Verfügung, nicht nur im Web, sondern überall.
XML bezieht sich auf Extensible Markup Language.
HTML bezieht sich auf Hypertext Markup Language.
php bezieht sich auf eine Hypertext-Vorverarbeitungssprache.
xml stellt eine Kommunikationsbrücke zwischen verschiedenen Plattformen und verschiedenen Sprachen dar.
xml ist im Wesentlichen eine Textdatei. Sie wird verwendet, um die Struktur von Daten zu beschreiben.
Grundlegende Syntax von XML:
xml hat strenge grammatikalische Regeln
XML muss zuerst deklariert werden
XML muss ein Stammelement erstellen
Alle Elemente in XML müssen paarweise erscheinen
XML unterscheidet zwischen Groß- und Kleinschreibung
Die Verschachtelung von XML-Elementen muss korrekt sein
Die Attribute von XML-Elementen müssen die Einbeziehung „“ verwenden
XML-Dokumente verwenden eine selbstbeschreibende und einfache Syntax Ein XML-Dokument umfasst: Deklarationen, Verarbeitungsanweisungen (optional) und Elemente. Das Folgende ist eine einfache
Erklärung:
Dokumentdeklaration
Die Das XML-Tag gibt an, dass es sich um ein XML-Dokument handelt. Die letzten beiden Attributwerte geben die Versionsnummer und den Kodierungsstandard „Ja“ an, der angibt, dass die Datei nicht auf andere externe XML-Dateien verweist.
3. Webservice im Zusammenhang mit XML.
Xml-Webservice ist der Grundbaustein für verteiltes Rechnen im Internet. Offene Standards und der Fokus auf Kommunikation und Zusammenarbeit zwischen Benutzern und Anwendungen haben eine Umgebung geschaffen, in der XML-Webdienste zur Plattform für die Anwendungsintegration werden.
XML-Webdienste können ihre Schnittstellen sehr detailliert spezifizieren, was es Benutzern ermöglicht, Clientanwendungen zu erstellen, um mit ihnen zu kommunizieren.
xML Web Service bietet Webbenutzern nützliche Funktionen über Standard-Webprotokolle. In den meisten Fällen wird das SOAP-Protokoll verwendet.
Soap ist das Kommunikationsprotokoll des XML-Webdienstes.
4. Der Unterschied zwischen XML, HTML und HTML:
Der Designunterschied zwischen XML und HTML ist:
XML wird zum Speichern von Daten verwendet, wobei der Schwerpunkt auf den Daten selbst liegt.
HTML wird zum Definieren von Daten verwendet, wobei der Schwerpunkt auf dem Anzeigemodus der Daten liegt.
XHTML (The Extensible HyperText Markup Language) ist eigentlich eine aktualisierte Version von HTML. Der Zweck dieser Version besteht darin, den Menschen die Akzeptanz von XML zu erleichtern, da XML die zukünftige Richtung der Webentwicklung ist. Im Wesentlichen ist XHTML eine Übergangstechnologie, die einige der leistungsstarken Funktionen von XML und die meisten einfachen Funktionen von XML kombiniert HTML.
DHTML: Um genau zu sein, ist DHTML nur ein Konzept zur Erstellung von Webseiten. Tatsächlich hat keine Organisation oder Institution jemals einen sogenannten DHTML-Standard oder eine technische Spezifikation eingeführt. DHTML ist keine Technologie, kein Standard oder keine Spezifikation. DHTML ist lediglich ein Designkonzept, das vorhandene Webseitentechnologien und Sprachstandards integriert und anwendet, um Webseiten zu erstellen, die die Wirkung von Seitenelementen nach dem Herunterladen noch in Echtzeit ändern können. DHTML basiert auf der ursprünglichen Technologie und kann in drei Aspekte unterteilt werden:
Der erste ist HTML, also die verschiedenen Seitenelementobjekte auf der Seite, bei denen es sich um dynamisch manipulierte Inhalte handelt.
Der zweite ist CSS, CSS-Attribute sind auch dynamisch manipulierte Inhalte, um dynamische Formatierungseffekte zu erzielen; das dritte ist ein clientseitiges Skript (wie JavaScript), das tatsächlich HTML und CSS auf der Webseite manipuliert.
Mithilfe der DHTML-Technologie können Webdesigner Seiten erstellen, die mit Benutzern interagieren können und dynamische Inhalte enthalten. Tatsächlich ermöglicht DHTML Webdesignern die dynamische Bearbeitung aller Elemente einer Webseite – selbst nachdem die Seite geladen wurde. Mithilfe von DHTML können Webdesigner Inhalte dynamisch ein- oder ausblenden, Stildefinitionen ändern, Elemente aktivieren und Elemente positionieren. DHTML ermöglicht es Webdesignern außerdem, externe Informationen auf Webseiten anzuzeigen, indem Elemente an externe Datenquellen wie Dateien und Datenbanken gebunden werden. Alle diese Funktionen können über den Browser ausgeführt werden, ohne dass eine Anfrage an den
Webserver erforderlich ist und ohne dass die Webseite neu geladen werden muss.Dies liegt daran, dass alle Funktionen in der HTML-Datei enthalten sind, die mit der Anfrage für die Webseite sofort in den Browser heruntergeladen wird.
5. DOM-Operation xml
Dom-Knoten liest Daten
header("content-type: text/html; charset=utf-8");
//dom-Knoten XML-Datei lesen
$dom = new DomDocument(); //DOM-Objekt erstellen
$dom->load('1.xml'); //XML-Datei lesen
$root = $ dom- >documentElement; //Das Stammverzeichnis der XML-Daten abrufen
$nodes=$root->childNodes; //Alle untergeordneten Knotenobjekte unter dem XML-Stammobjekt abrufen
echo $nodes->item(1 ) ->nodeValue; //Ausgabename
echo $nodes->item(3)->nodeValue; //Ausgabepasswort
echo $nodes->item(5)->nodeValue; /Geschlecht ausgeben
echo $nodes->item(7)->nodeValue; //Alter ausgeben
/Attribute abrufen
echo $dom->getElementsByTagName('name')-> ; item(0)->attributes->getNamedItem('abc')->nodeValue;
echo $nodes->item(1)->attributes->getNamedItem('id')- > ;nodeValue;
readXml($root); //Führen Sie die Schleife zum Lesen der Knotenfunktion aus und übergeben Sie das Wurzelknotenobjekt
Funktion readXml($nodes){
if($nodes->hasChildNodes()) { // Bestimmen Sie, ob untergeordnete Knoten vorhanden sind
‐ ' t d t ' t ‐ ‐ ‐ ‐ ‐ Schleife die Liste von untergeordnete Knoten
if($node->nodeType == XML_ELEMENT_NODE){ //Bestimmen Sie, ob es sich um ein Knotenobjekt handelt
readXml($node);//Führen Sie die Funktion readXml() rekursiv aus
}elseif ($ node-& gt; nodetype == xml_text_node) {// Bestimmen Sie, ob es sich um einen Dateiknoten handelt
Echo $ node- & gt; // Wenn hier Geschäftslogik vorhanden ist, schreiben Sie Ihren Code
} >
?>
//dom generiert ein XML-Dokument
$doc=new DOMDocument('1.0');
//Knotenobjekte nacheinander erstellen und anhängen
$root=$doc->appendChild($doc->createElement('school')); //Das Stammverzeichnis erstellen und anhängen
//Untergeordnete Knoten erstellen
$class1=$root-> ;appendChild ($doc->createElement('class1'));
//Untergeordnete Knoten unter der Klasse erstellen
$stu=$class1->appendChild($doc->createElement('stu' )) ;
//Attribute und Text für stu erstellen
$stu->appendChild($doc->createTextNode('1Class'));
$stu->setAttribute('number' , '10');
$stu->setAttribute('zhuanye','java');
/**
* Der obige Code generiert das XML-Format
*/
//Untergeordneten Knoten erstellen
$class2= $ root->appendChild($doc->createElement('class2'));
//Untergeordnete Knoten unter der Klasse erstellen
$stu2=$class2->appendChild($doc->createElement ( 'stu'));
//Attribute und Text für stu erstellen
$stu2->appendChild($doc->createTextNode('Class 1'));
$stu2-> setAttribute ('number','20');
$stu2->setAttribute('zhuanye','php');
//Generieren
$doc->formatOutput=true;
$xmlDoc=$doc->saveXML(); //XML generieren und ein XML-Dokument zurückgeben
$doc->save('school.xml');
/**
Das durch den obigen Code generierte Endergebnis:
*/
6. simplexml-Schnittstelle
header("content-type: text/html; charset=utf-8");
$xml=simplexml_load_file('school.xml');//Array-Objekt zurückgeben
// Daten und Attribute lesen
Foreach ($ xml as $ key = & gt; $ node) {
if ($ key == 'class1') {
echo $ node- & gt; stu; //Direkt auf den Textknoten des Objekts zugreifen //Ausgabeergebnis: Klasse 1
}elseif($key== 'class2'){
Zugriff auf Ausgabeergebnis: 20
}
}
//Direkter Zugriff auf Attribut
echo $xml->class1->stu['zhuanye'] //Ausgabeergebnis: java
/**
*/
Get xml aus der Ferne speichern und speichern
header("content-type: text/html; charset=utf-8");
/ /Fernzugriff auf die XML-Datei
$xml= simplexml_load_file('http://127.0.0.1/xml/2.xml');
$xml->asXML('5.xml'); //Lokal speichern
//Betreiben Sie Ihr XML-Dokument entsprechend zu Ihrer Geschäftslogik
?>
7.
XML-Dokument aus Datenbankdaten generieren
/**
**/
$c>mysql_select_db('member');
mysql_set_charset("utf8");
//Datenübermittlung
if(isset($_POST['zhuce'])){
$username= trim($_POST['username']);
$userpwd=trim($_POST['userpwd']);
$useremail=trim($_POST['useremail']);
// In die Datenbank schreiben
$sql="insert into reg(`id`,`name`,`pwd`,`email`) Values(null,'$username','$userpwd','$useremail')" ;
$res= mysql_query($sql );
if($res){
$sql="select * from reg";
$rest=mysql_query( $ sql);
//判断是否有数据
if( ! empty($users)){
$xmlString=createXml('users',$users);
$xmlObj=new SimpleXMLElement($xmlString) ; //生成xml对象
$xmlObj->asXML("reg.xml"); //保存
}
}
//创建xml
function createXml($boot,$data){
$xml="<$boot>n";
foreach ($data as $key=>$value){
if(is_string($key)){
$xml.="<$key>";
foreach($value as $k =>$val){
$xml.="n<$k>".$val."$k>";
;/$ key>n“;
}else{
$ xml.="n<$k>".$val."$k>";
}
$xml.="n$boot.$key>n";
} } } „-//W3C//DTD XHTML 1.0 Transitional//EN“ „http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd“>
远程获取对象:
$xml=simplexml_load_file('http://127.0. 0.1/xml/reg.xml');
//$memberXml=$xml->asXML('member.xml');
?>
id name pwdemail
foreach($xml as $key=>$node){
?>
id;?>
name;?>
pwd;?>
< ;?php echo $node->email;?>
}
?>
yahoo Chinesische Stadt-ID-Adresse abfragen
http://weather.yahoo. com/china/
$xml=simplexml_load_file("http://xml.weather.yahoo.com/forecastrss?w=2158433&u=c");
echo '';<br> / /var_dump($xml);<br> $arrobj=$xml->channel->image;<br> //echo $arrobj->url;<br> // print_r($xml->channel );<br> echo '
';
echo '';
echo ''.$arrobj->title.'';
sianisches WetterWettervorhersage xml
header("content-type: text/html;charset=utf-8");
$c//php.weather.sina.com.cn/xml.php?password=DJOYnieT8234jlsK&day=0&city= Chengdu");
file_put_contents('sina_weather.xml',$content);