Tecnología

Inicio

Cómo obtener una estructura XML Sub fragmento de un archivo XML grande

Cómo obtener una estructura XML Sub fragmento de un archivo XML grande


XML es sinónimo de "lenguaje extensible de marcas." XML proporciona una forma para que la información y los contenidos que se transferirán a través de Internet. Un "modelo de datos de objetos," o DOM, proporciona una forma estándar para acceder y manipular un documento XML. En un documento de DOM, los datos XML se almacena en una jerarquía conocida como una estructura de "árbol". Cada elemento XML en un archivo hace que una parte de la estructura de árbol, que se conoce como un "nodo". Con el fin de atravesar el árbol y seleccione un nodo deseado, se utilizará un lenguaje de consulta llamado "Xpath".

Instrucciones

1 Crear el documento DOM. El uso de "http://www.example.com/example_xml_file.xml" como la dirección de un archivo XML de este ejemplo, y utilizando PHP como lenguaje para implementar DOM y Xpath, introduzca el código siguiente en el editor de texto:

$ URL = "http://www.example.com/example_xml_file.xml";

$ archivo_xml = file_get_contents ($ URL);

$ Doc = new DOMDocument ();

$ Doc-> loadXML ($ archivo_xml);

$ XPath = new DOMXPath ($ doc);

Este código llama al método "file_get_contents ()" de PHP para almacenar el archivo XML ubicado en "www.example_xml_file.xml" como una cadena en la variable "$ archivo_xml." A continuación, crea un nuevo objeto DOM y lo almacena en la "variable $ doc." A continuación, se carga el archivo XML como un DOM y crea un objeto DOMXPath y lo almacena en la variable "$ XPath."

2 Busque el nodo deseado. Para recuperar la información contenida en la etiqueta <id> del archivo XML siguiente:

<Elemento Novedades>

<Id> 48645 </ id>

<PublishDate> Lunes, 23 de de junio de </ publishDate>

<Título> Noticias título </ headline>

</ Elemento Novedades>

Deberá introducir el código:

$ Item = $ xpath-> evaluar ( "// id");

Esto selecciona el "<id>" nodo del árbol y lo almacena en la variable "item $."

3 Recuperar la información desde el nodo. Con el fin de obtener los contenidos del nodo, introduzca el siguiente código:

$ = $ SelectedItem Item-> elemento (0) -> nodeValue;

Esto hará que el valor se encuentra en "<id>", que es "48645", y almacenarlo en la variable "$ selectedItem."