Cela commence à me faire chier vraiment mauvais. J'ai ce code XML:xPath ne trouve rien mais *
Mise à jour avec namespaces correct
<?xml version="1.0" encoding="utf-8"?>
<Infringement xsi:schemaLocation="http://www.movielabs.com/ACNS http://www.movielabs.com/ACNS/ACNS2v1.xsd" xmlns="http://www.movielabs.com/ACNS" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Case>
<ID>...</ID>
<Status>Open</Status>
</Case>
<Complainant>
<Entity>...</Entity>
<Contact>...</Contact>
<Address>...</Address>
<Phone>...</Phone>
<Email>...</Email>
</Complainant>
<Service_Provider>
<Entity>...</Entity>
<Address></Address>
<Email>...</Email>
</Service_Provider>
<Source>
<TimeStamp>...</TimeStamp>
<IP_Address>...</IP_Address>
<Port>...</Port>
<DNS_Name></DNS_Name>
<Type>...</Type>
<UserName></UserName>
<Number_Files>1</Number_Files>
<Deja_Vu>No</Deja_Vu>
</Source>
<Content>
<Item>
<TimeStamp>...</TimeStamp>
<Title>...</Title>
<FileName>...</FileName>
<FileSize>...</FileSize>
<URL></URL>
</Item>
</Content>
</Infringement>
Et ce code PHP:
<?php
$data = urldecode($_POST["xml"]);
$newXML = simplexml_load_string($data);
var_dump($newXML->xpath("//ID"));
?>
J'ai largué seulement newXML $ et des tonnes acquis de données, mais la seulement xPath j'ai couru quoi que ce soit mais un tableau vide était "*"
Est-ce que "// ID" n'est pas censé trouver tous les nœuds ID dans le document? Pourquoi ça ne marche pas?
Merci
Le problème est très probablement l'espace de noms ('xmlns: xsi'). Je ne sais pas comment aider encore plus, les compétences insuffisantes ': P' – Kobi
Pas sûr, mais essayez de remplacer' xmlns' par 'ns'. (inspiré par [ce commentaire sur PHP.net] (http://nl2.php.net/manual/en/simplexmlelement.xpath.php#96153). – Lekensteyn
Je ressemble probablement à un fanatique, mais à mon humble avis suppression des espaces de noms pour faire fonctionner les requêtes XPath est juste un hack XML qui est utilisé pour surmonter les défauts des outils de programmation ou l'incompétence du programmeur. Les espaces de noms sont un concept fondamental en XML. Toute personne qui va utiliser XML devrait apprendre à les comprendre. – jasso