Código
<host:VirtualHost xmi:id="VirtualHost_1391153615303" name="ABCD"> <mimeTypes xmi:id="MimeEntry_1391153615303" type="application/RAL"> <extensions>RAL</extensions> <extensions>ral</extensions> </mimeTypes> </host:VirtualHost>
Para parsear el namespace host:VirtualHost y obtener el valor de la propiedad name lo que hago es eliminar los dos puntos de la siguiente manera con la función preg_replace y luego parseo el contenido como string (no como archivo) con la función simplexml_load_string:
Código
foreach($loadArchivoXml->hostVirtualHost as $virtualHost) { echo "El valor de la propiedad name es: ".$virtualHost['name']; }
Siendo la salida...
Código
El valor de la propiedad name es: ABCD
Solo pongo esto por si alguno tiene el problema de parsear namespaces con dos puntos ( : ), pero no es la solución a mi problema, ya que sigo sin saber cómo tratar los namespaces con puntos ( . ) y haciendo el mismo proceso no meha funcionado , a ver si a alguno de vosotros se os ocurre alguna idea mejor. Pongo otra vez el trozo de XML con el que quiero trabajar:
Código
<?xml version="1.0" encoding="UTF-8"?> <com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:com.ibm.ejs.models.base.bindings.webappbnd="webappbnd.xmi" xmi:id="WebAppBinding_1267660235297" virtualHostName="ABCD_01"> <webapp href="WEB-INF/web.xml#WebApp_1267500236267"/> </com.ibm.ejs.models.base.bindings.webappbnd:WebAppBinding>
Un saludo y gracias de antemano.