xml - php domdocument Comment lire un document à l'aide d'une URL
伊谢尔伦
伊谢尔伦 2017-05-16 13:12:41
0
1
549

En raison des besoins du projet, je dois utiliser php pour modifier la valeur sur XML. Utilisez DOMdocument pour le faire.
Le code est le suivant

$xmlpatch ='http://www.*****.com/vr/wtest/vtour/tour.xml'; $xml = simplexml_load_file($url); $doc = nouveau DOMDocument(); $doc -> formatOutput = vrai ; if($doc ->load($xmlpatch)) { $root = $doc -> $elm = $root -> getElementsByTagName('scène'); $hotspot = $elm[1] ->getElementsByTagName('hotspot'); $hotspot[0] ->setAttribute('videourl',$videourl1); $hotspot[1] ->setAttribute('onclick',$videourl2); $doc->save($xmlpatch); }

Le code devrait convenir. Le problème était que j'avais initialement écrit un chemin relatif dans $xmlpatch. Parce que j'ai utilisé le package d'environnement local, il n'y a eu aucun problème.
Mais les fichiers php et XML de l'environnement sur le serveur sont placés dans plusieurs domaines, je les ai donc modifiés en chemins absolus. Mais j'ai découvert que le script avait échoué. Quelqu'un en ligne a suggéré d'utiliser simplexml pour le faire. Mais je peux effectivement le lire après avoir expérimenté, mais je ne trouve pas de fonction pour modifier les attributs sur w3cschool.
S'il vous plaît, aidez-moi, merci beaucoup. Pouvez-vous me dire comment modifier les attributs de simplexml, ou comment lire le document dom en utilisant l'url ?

伊谢尔伦
伊谢尔伦

小伙看你根骨奇佳,潜力无限,来学PHP伐。

répondre à tous(1)
迷茫

Utilisez d'abord curl pour lire les informations du fichier XML, puis utilisez DOMdocument ou simplexml pour le traiter.

<?php

$url = 'http://www.abc.com/sitemap.xml';

$header = array(
    'User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0',
    'Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3',
    'Accept-Encoding: gzip, deflate',
);

$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
$data = curl_exec($curl);
curl_close($curl);

if ($xml = simplexml_load_string($data)) {
    $xml->row->name = 'new_name'; // Edit XML Object node
    echo $xml->asXML();
}
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal