Débutant en XML, je ne comprends pas pourquoi lorsque j'utilise la fonction simplexml_load_string, celle-ci me retourne un objet vide et aucune erreur.
La librairie XML est bien chargé et mon PHP est 5.5.11.
libxml =>
libXML support active
libXML Compiled Version 2.9.1
libXML Loaded Version 20901
libXML streams enabled
Je suis preneur de toute explication/solution pour que mon code fonctionne.
Le code que j'utilise pour les tests. Le XML est un XML exemple des données que je cherche à traiter.
<?php
libxml_use_internal_errors(TRUE);
$a = <<<XML
<upd:Update xmlns:pub="http://schemas.microsoft.com/msus/2002/12/Publishing" xmlns:bar="http://schemas.microsoft.com/msus/2002/12/BaseApplicabilityRules" xmlns:upd="http://schemas.microsoft.com/msus/2002/12/Update">
<upd:UpdateIdentity UpdateID="002370d7-f7be-4701-b9fe-85e2092c1b85" RevisionNumber="100" />
<upd:Properties DefaultPropertiesLanguage="en" UpdateType="Detectoid" ExplicitlyDeployable="false" IsPublic="false" DetectoidType="Application Locale" PublicationState="Published" CreationDate="2008-01-30T09:37:13.074Z" PublisherID="377c55d0-1cd2-4b33-a783-07ba418bb7fe"></upd:Properties>
<upd:LocalizedPropertiesCollection>
<upd:LocalizedProperties>
<upd:Language>en</upd:Language>
<upd:Title>SCCM 2007 ENU</upd:Title>
<upd:Description>It is the detectoid that decides if the site server is English version.</upd:Description>
</upd:LocalizedProperties>
</upd:LocalizedPropertiesCollection>
<upd:Relationships>
<upd:Prerequisites>
<upd:UpdateIdentity UpdateID="d22b3d16-bc75-418f-b648-e5f3d32490ee" />
</upd:Prerequisites>
</upd:Relationships>
<upd:ApplicabilityRules>
<upd:IsInstalled>
<bar:RegSz Key="HKEY_LOCAL_MACHINE" Subkey="Software\Microsoft\SMS\Identification" Value="Language" Comparison="EqualTo" Data="English:00000409" RegType32="true" xmlns:bar="http://schemas.microsoft.com/msus/2002/12/BaseApplicabilityRules" />
</upd:IsInstalled>
</upd:ApplicabilityRules>
</upd:Update>
XML;
$xml= simplexml_load_string($a);
print_r(libxml_get_errors());
print_r($xml);
?>