Come ottenere un sub Struttura XML frammento da un grande file XML

April 13

Come ottenere un sub Struttura XML frammento da un grande file XML


XML sta per "Extensible Markup Language". XML fornisce un modo per le informazioni e contenuti da trasferire su Internet. Un "modello dei dati oggetto," o DOM, fornisce un modo standard per accedere e manipolare un documento XML. In un documento DOM, dati XML è memorizzato in una gerarchia nota come una struttura "ad albero". Ogni elemento XML in un file costituisce una parte della struttura ad albero, che è conosciuto come "nodo". Per trasversali l'albero e selezionare un nodo desiderato, verrà utilizzato un linguaggio di query chiamata "Xpath".

istruzione

1 Creare il documento DOM. Uso di "http://www.example.com/example_xml_file.xml", come l'indirizzo di un file XML per questo esempio, e utilizzando PHP come linguaggio per implementare DOM e Xpath, inserire il seguente codice nel vostro editor di testo:

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

$ file_xml = file_get_contents ($ URL);

$ Doc = new DOMDocument ();

$ Doc-> loadXML ($ file_xml);

$ XPath = new DOMXPath ($ doc);

Questo codice chiama "file_get_contents ()" di PHP metodo per memorizzare il file XML si trova in "www.example_xml_file.xml" come una stringa nella variabile "$ file_xml." Si crea quindi un nuovo oggetto DOM e lo memorizza in "$ doc variabile." Poi, si carica il file XML come DOM e crea un oggetto DOMXPath e lo memorizza nella variabile "$ XPath."

2 Individuare il nodo desiderato. Per recuperare le informazioni contenute nella sezione <id> tag del file XML seguente:

<NewsItem>

<Id> 48645 </ id>

<PublishDate> Lunedi, giugno 23 ° </ publishDate>

<Titolo> News headline </ headline>

</ NewsItem>

Si potrebbe inserire il codice:

$ Oggetto = $ xpath-> valutare ( "// ID");

Seleziona il "<id>" nodo dall'albero e lo memorizza nella variabile "$ voce."

3 Recuperare le informazioni dal nodo. Al fine di ottenere il contenuto del nodo, inserire il seguente codice:

$ SelectedItem = $ item-> item (0) -> nodeValue;

In questo modo ottenere il valore si trova nella "<id>", che è "48645", e memorizzarlo nella variabile "$ selectedItem."