Chiudi il Menu
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon
Menu Espanso
  • Home
  • Forum
  • Notizie
  • Offerte iSpazio
  • iOS 26
  • iPhone 16
  • Downloads
  • Guide
  • Sconti Amazon
  • Contatti
  • Pubblicità
Facebook X (Twitter) Instagram YouTube TikTok
iSpazioiSpazio
  •  Forum
  • Offerte iSpazio
  • Wallpapers Central
  • Teslers
Scarica l'App
  • Offerte
  • Sfondi
  • Guide
    • Personalizzazione
    • Video Guide TikTok
  • Recensioni
  • Downloads
    • Sfondi
    • Suonerie
    • Comandi Rapidi
    • Sfondi Personalizzati
    • Widget e Altro
    • iOS
    • iTunes
  • Dispositivi Apple
    1. iPhone
    2. iPad
    3. Mac
    4. Apple Watch
    5. iOS 26
    6. Vedi tutto

    L’iPhone 5, il primo iPhone con connettore Lightning, è ora obsoleto

    17 Mar 2026

    Apple potrebbe mantenere invariati i prezzi degli iPhone 18 Pro | Rumor

    12 Mar 2026

    Nessuna Isola dinamica più piccola su iPhone 18 Pro, arriva la conferma

    12 Mar 2026

    iPhone 17e è ufficialmente disponibile all’acquisto, anche su Amazon ed in 5 comode rate

    11 Mar 2026

    iPad Air M4 è ufficialmente disponibile all’acquisto, anche su Amazon ed in 5 comode rate

    11 Mar 2026

    iPad Air con chip M4 promosso nelle prime recensioni: potente e sempre più vicino all’iPad Pro | Video

    9 Mar 2026

    I primi benchmark dell’iPad Air M4 mostrano grandi miglioramenti

    4 Mar 2026

    Quali saranno le novità dell’iPad di dodicesima generazione?

    1 Mar 2026

    Apple rilascia macOS 26.4 RC: tutte le novità in arrivo su Mac

    18 Mar 2026

    Può un laptop economico sfidare un server professionale? Il caso del MacBook Neo nei benchmark

    18 Mar 2026

    Apple rilascia il primo miglioramento di sicurezza in background per iOS 26.3.1 e macOS 26.3.1

    18 Mar 2026

    Il MacBook Air con touchscreen non è ancora nei piani di Apple

    17 Mar 2026

    Disponibile watchOS 26.4 RC: Ecco tutte le novità prima del rilascio per tutti gli utenti

    18 Mar 2026

    Apple sta progettando scocche in alluminio stampate in 3D per iPhone e Apple Watch

    9 Mar 2026

    Quasi uno smartwatch su quattro nel 2025 era un Apple Watch

    27 Feb 2026

    Apple rilascia macOS Tahoe 26.3, watchOS 26.3 e tvOS 26.3

    11 Feb 2026

    Apple rilascia iOS 26.4 RC: la versione finale per tutti gli utenti è prevista per la prossima settimana

    18 Mar 2026

    Apple rilascia macOS 26.4 RC: tutte le novità in arrivo su Mac

    18 Mar 2026

    Disponibile watchOS 26.4 RC: Ecco tutte le novità prima del rilascio per tutti gli utenti

    18 Mar 2026

    Perplexity porta Comet su iPhone: il browser AI che vuole cambiare il modo in cui leggiamo il web

    18 Mar 2026

    Apple rilascia iOS 26.4 RC: la versione finale per tutti gli utenti è prevista per la prossima settimana

    18 Mar 2026

    Apple rilascia macOS 26.4 RC: tutte le novità in arrivo su Mac

    18 Mar 2026

    Disponibile watchOS 26.4 RC: Ecco tutte le novità prima del rilascio per tutti gli utenti

    18 Mar 2026

    Perplexity porta Comet su iPhone: il browser AI che vuole cambiare il modo in cui leggiamo il web

    18 Mar 2026
  • iPhone 17
  • iOS 26
  • Sconti Amazon
Contatti
Pubblicità
iSpazioiSpazio
  • Notizie
  • Offerte iSpazio
  • Sfondi
  • Downloads
  • Recensioni
  • iOS 26
  • Sconti Amazon

iSpazio Developers Program #14 – Come utilizzare l’XML nelle applicazioni iPhone

Andrea BusiDi Andrea Busi25 Mag 2009Commenta7 min di lettura
Condividi Facebook Twitter Telegram WhatsApp Copia Link Threads Email
Share
Facebook Twitter WhatsApp Telegram Threads Email Copia Link
In qualità di Affiliato Amazon, iSpazio riceve una commissione dagli acquisti idonei senza alcun costo per voi. (info).
Icona Cerchi Prodotti Apple ed accessori Tech in sconto?

Cerchi Prodotti Apple ed accessori Tech in sconto?

Segui il nostro canale @scontiamolo su Telegram!

Advertising

Eccoci con un nuovo tutorial dedicato alla programmazione per iPhone. Dopo aver visto molti componenti, ho deciso di fare un tutorial sull’integrazione con una tecnologia molto utilizzata, specialmente in ambito web: stiamo parlando dell’XML.

Vedremo, quindi, come leggere un file XML, da cui prelevare delle informazioni che abbiamo salvato. Questa operazione verrà eseguita in locale (ovvero il file xml sarà all’interno del nostro progetto), ma nulla vieta di avere il file caricato su un server web a cui accedere tramite la nostra applicazione.

1. Cosa è XML?

XML è un metalinguaggio (in quanto non è un linguaggio di programmazione vero e proprio) di markup, ovvero un linguaggio che consente di estendere o controllare il comportamento di altri linguaggi. Il linguaggio di markup più famoso è sicuramente l’HTML, che ha molte analogie con l’XML.

XML è l’acronimo di eXtensible Markup Language, da cui possiamo capire la caratteristica fondamentale di questo linguaggio: ci permette di creare tag personalizzati, in base alle proprie esigenze.

Sarà più semplice comprendere il funzionamento di questo linguaggio mediante un esempio:

immagine-12

La prima riga definisce la versione di XML in uso e la codifica utilizzata (secondo le norme ISO). Dalla seconda riga in poi, invece, troviamo dei tag personalizzati, che vanno a modellare dei dati a nostro piacimento.
Possiamo vedere come abbiamo definito un tag generale “studenti”, che viene iniziato alla seconda riga e concluso all’ultima. Nel mezzo troviamo, invece, altri tag, che riportano le informazioni che vogliamo memorizzare, per poi utilizzarle a nostro piacimento.

Ci sono alcune piccole regole da rispettare nella sruttura XML:

  1. I tag non possono iniziare con numeri o caratteri speciali e non possono contenere spazi.
    Corretti: <nome>, <cognome>, <dataDiNascita>
    Errati: <&soldi>, <12peso>, <anno di nascita>
  2. I tag devono essere bilanciati (ogni tag aperto deve essere chiuso)
    Corretto: <nome>Andrea</nome>
    Errato: <nome>Andrea
  3. I tag non devono contenere errori di annidamento.
    Ecco alcuni esempi errati:
    immagine-22
  4. Si possono inserire degli attributi all’interno dei tag; la struttura sarà quindi la segente:
    <nometag attributo1=”valore1? attributo2=”valore2?> Valore </nometag>
    I nostri elementi, quindi, potranno essere scritti anche nella seguente maniera:
    immagine-32Questa struttura è del tutto uguale a quella precedente. Notate che in questo caso non abbiamo usato il tag di chiusura, ma abbiamo inserito “/” all’interno del tag stesso proprio per indicare che quel tag non ha elemento di chiusura. Quello che cambierà sarà solamente il modo di leggere i valori via codice.

2. XML nell’SDK di iPhone

Per ora abbiamo fatto una panoramica su XML in generale, presentando gli aspetti fondamentali di tale linguaggio. Ma come possiamo integrarlo con le nostre applicazioni?L’oggetto che si occupa di recuperare i dati da un file XML viene detto parser.

Esistono vari tipi di parser (diversi per linguaggi e tecnologie), noi andremo ad utilizzare SAX. La caratteristica di questo parser sta nel fatto che processa i documenti linea per linea: dati a cui si è acceduto in precedenza non possono essere riletti senza la rielaborazione dell’intero documento. Può essere uno svantaggio, ma è l’unico parser disponibile nell’SDK per iPhone!!

3. Creiamo un nuovo progetto

Apriamo Xcode, selezioniamo “File -> New Project”. Nel menù che ci appare selezioniamo “View-Based Application”, clicchiamo su “Choose…” e immettiamo come nome “xmlTutorial” e fate clic su “Save”. Abbiamo così creato il nostro nuovo progetto.

In questo tutorial utilizzeremo la vista e la classe che XCode ha già definito per noi. Prima di definire l’aspetto grafico, però, dichiariamo i componenti che ci servono. Apriamo il file “xmlTutorialViewController.h” e modificatelo così:

immagine-51

Abbiamo dichiarato una TextView in cui inseriremo i dati letti dal file xml, un’azione, che andrà collegata ad un bottone (tale azione farà iniziare il processo di parsing) e una stringa che conterrà il percorso del file xml.
Salviamo il file (“File -> Save”).

4. Creiamo la struttura grafica

Apriamo ora il file “xmlTutorialViewControlle.xib”, che avvierà Interface Builder. Nella nostra applicazione, inseriamo un bottone e una TextView, di dimensioni abbastanza ampie, in quanto dovrà contenere tutti i valori letti dal file xml. Dovreste ottenere un risultato come questo:

immagine-61

Ora, selezionando la UITextView, entriamo in “Attributes Inspector” e togliamo la spunta a “Editable”:

immagine-7

questo perchè non vogliamo che l’utente possa modificare i valori presenti nella TextView (ovvero deve essere di sola lettura).

Dal pannello dei documenti (“Tools -> Reveal in Document Window”) selezioniamo “File’s Owner”, ovvero la classe che gestisce il nostro file.

immagine-8

Apriamo il “Connections Inspector” e potremo vedere alcuni elementi, più i due che abbiamo definito noi all’inizio del nostro progetto. Colleghiamo “textArea” con la UITextView presente nella nostra vista, e l’azione “avviaParsing” con il bottone: quando apparirà il menù con tutte le azioni disponibili, scegliamo “Touch Up Inside”. Se avrete eseguito tutto correttamente avrete un pannello che si presenterà così:

immagine-9

Abbiamo terminato la creazione della struttura grafica. Possiamo salvare tutto e chiudere Interface Builder.

5. Scriviamo il codice necessario

Prima di procedere con il codice necessario, dobbiamo inserire all’interno del progetto il file xml con i nostri dati. Se avete capito la struttura di tali file, potete creare uno a vostro piacimento (fate attenzione a salvarlo con estensione .xml), altrimenti inserite nel vostro progetto questo file.

Apriamo ora il file “xmlTutorialViewController.m” e definiamo il seguente metodo:

immagine-10

Questo metodo viene eseguito all’avvio della vista, e ci permette di definire dei comportamenti che devono essere eseguiti prima di ogni altra cosa. Con le due istruzioni che abbiamo inserito definiamo il percorso del nostro file “dati.xml”: esso viene cercato all’interno della cartella del nostro progetto. Queste istruzioni sono molto importanti, in quanto non viene definito un percorso assoluto (soluzione sempre sconsigliabile e spesso errata), ma viene definito il percorso effettivo in cui si trova il file.

Dobbiamo ora definire l’azione che viene eseguita quando premiamo sul pulsante. Ecco il codice da inserire:

immagine-111

Le prime due istruzioni ci permettono di definire il parser, partendo dal percorso del nostro file. La quarta istruzione avvia il processo di parsing, salvando il proprio risultato in una variabile booleana: se essa vale YES la conversione si è conclusa senza errori, altrimenti c’è stato un errore (che potrebbe essere dovuto ad errori nella struttura del file xml oppure ad errori di scrittura del codice).
Come potete vedere non si tratta di codice complesso, sono poche istruzioni che dovrebbero risultarvi chiare.

La parte che viene ora è quella che si occupa di leggere i dati dal file xml. Iniziamo inserendo questo metodo:

immagine-121

Come potete osservare, vi sono una serie di controlli if, che vanno a testare l’elemento corrente, per riconoscerlo e per scrivere una stringa adeguata nella textArea che abbiamo predisposto. Questo processo è possibile perchè conosciamo a priori la struttura del file xml: questo è quasi sempre vero, in quanto sarebbe quasi impossibile leggere un file xml di cui non conosciamo la struttura interna.
Il metodo viene, ovviamente, richiamato ogni volta che il parser incontra un nuovo elemento, cioè l’apertura di un tag.

Per completare il nostro programma mancano solo due metodi:

immagine-13

Il primo viene richiamato quando il parser incontra un valore racchiuso tra due tag (l’informazione vera e propria). Nel nostro caso ci limitiamo a inserirla nella textArea, però potreste fare delle operazioni più o meno complesse sulle informazioni che leggete dal file.
L’ultimo metodo, invece, viene richiamato quando il parser incontra un tag di chiusura. Anche in questo caso l’unica azione che faremo sarà quello di inserire una stringa nella textArea.

Possiamo finalmente cliccare su “Build and Go!” e testare la nostra applicazione funzionante!

immagine-15

Se Avete Problemi, questo è il nostro file di progetto.

La guida è stata creata da Andrea Busi per “iSpazio.net” e “Bubi Devs”. I meriti, quindi, sono del legittimo autore.

Sai che siamo anche su Telegram? Unisciti al nostro canale iSpazio per ricevere le notifiche oppure Apple Italia per chattare con altri utenti. Scopri i migliori prodotti Tech in sconto su Amazon con il nostro canale OFFERTE iSpazio.
Icona dell'applicazione Le Migliori Offerte Amazon disponibile su App Store

Le Migliori Offerte Amazon

Selezionate dalla redazione di iSpazio
GUARDALE LIVE  
  • Filtra:
  • Tutte
  • Apple
  • Minimo Storico
  • Alimentari e cura della casa
  • Amazon
  • Bellezza
  • Casa e cucina
  • Elettronica
  • Illuminazione
  • Informatica
  • Prodotti per animali domestici
Amazon Music: 3 mesi completamente Gratis (risparmi 33€)
In Evidenza
Amazon Music: 3 mesi completamente Gratis (risparmi 33€)33,00€Gratis
72%  
Smartwatch Donna, 1,91″ HD Orologio Smartwatch Donna con Chiamate Bluetooth, 120+ Modalità Sport, Monitoraggio Salute 24, 7, Impermeabile IP68, Fitness Tracker Compatibile con Android e iOS, Oro rosa
08:42
Smartwatch Donna, 1,91″ HD Orologio Smartwatch Donna con Chiamate Bluetooth, 120+ Modalità Sport, Monitoraggio Salute 24, 7, Impermeabile IP68, Fitness Tracker Compatibile con Android e iOS, Oro rosa129,99€35,99€
48%
FRONTLINE Triact, 6 Pipette, Cane M (10-20Kg), Antiparassitario per Cani e Cuccioli di Lunga Durata, Protegge il Cane da Pulci, Zecche, Zanzare, Pappataci e Leishmaniosi, Antipulci 6 Pipette
08:36
FRONTLINE Triact, 6 Pipette, Cane M (10-20Kg), Antiparassitario per Cani e Cuccioli di Lunga Durata, Protegge il Cane da Pulci, Zecche, Zanzare, Pappataci e Leishmaniosi, Antipulci 6 Pipette69,80€35,99€
40%
PETTI Artigiani Italiani – Lenzuola in Cotone con Federe in Stampa Digitale, Lenzuola Letto Singolo, Completo Letto Singolo, Floreale 10 Grigio Chiaro, 100% Made in Italy
08:31
PETTI Artigiani Italiani – Lenzuola in Cotone con Federe in Stampa Digitale, Lenzuola Letto Singolo, Completo Letto Singolo, Floreale 10 Grigio Chiaro, 100% Made in Italy32,90€19,75€
42%
Sant’Orsola – Prosecco D.O.C. Millesimato Extra Dry, da Uva Glera, Gusto Fresco con Note Fruttate, 6×750 ml
08:27
Sant’Orsola – Prosecco D.O.C. Millesimato Extra Dry, da Uva Glera, Gusto Fresco con Note Fruttate, 6×750 ml41,50€23,93€
12%  
FITNESS Cookies&Cream Barrette Cereali Integrali con Biscotti e Cioccolato Bianco, 4 Barrette da 23,5g (94g)
08:24
FITNESS Cookies&Cream Barrette Cereali Integrali con Biscotti e Cioccolato Bianco, 4 Barrette da 23,5g (94g)1,50€1,32€
85%
JBES Cuffie Bluetooth, Auricolari Bluetooth 5.4 In Ear Stereo con 4 Microfono ENC, 60 Ore Cuffiette Wireless Cancellazione Rumore, IP5 Auricolare per iPhone e Androide, Earbuds (Nero)
08:23
JBES Cuffie Bluetooth, Auricolari Bluetooth 5.4 In Ear Stereo con 4 Microfono ENC, 60 Ore Cuffiette Wireless Cancellazione Rumore, IP5 Auricolare per iPhone e Androide, Earbuds (Nero)79,00€11,48€
36%
Borotalco, Deodorante Spray Originale, con Talco a Cristalli Attivi, Tripla Protezione Asciutta, Senza Alcool, Profumo di Borotalco, 48h efficacia – 4 Pezzi da 150 ml – Esclusiva Amazon
08:19
Borotalco, Deodorante Spray Originale, con Talco a Cristalli Attivi, Tripla Protezione Asciutta, Senza Alcool, Profumo di Borotalco, 48h efficacia – 4 Pezzi da 150 ml – Esclusiva Amazon20,20€12,94€
37%
MERCUSYS ME30 Ripetitore Wifi Dual-Band 1200 Mbps, Ripetitore Potente per Casa, WiFi Extender e Access Point, Amplificatore, Compatibile con Tutti i Modem Router, AC1200
08:17
MERCUSYS ME30 Ripetitore Wifi Dual-Band 1200 Mbps, Ripetitore Potente per Casa, WiFi Extender e Access Point, Amplificatore, Compatibile con Tutti i Modem Router, AC120029,99€18,99€
22%  
MEUBLE COSY Set di 4 Sedie da Pranzo Scandinavo Imbottito con Schienale Braccioli Poltrona in Velluto a Coste per Cucina Sala Soggiorno Camera Ufficio, Beige Chiaro
08:14
MEUBLE COSY Set di 4 Sedie da Pranzo Scandinavo Imbottito con Schienale Braccioli Poltrona in Velluto a Coste per Cucina Sala Soggiorno Camera Ufficio, Beige Chiaro319,99€249,99€
40%
Luce Solare LED Esterno, Faretto LED da Esterno con Sensore di Movimento, 185 LED,  3 Modos Lampada Solare da Esterno, IP65 Impermeabile LED Lampione per Giardino, Parete, Garage(2 Pezzi Bianco Freddo)
08:11
Luce Solare LED Esterno, Faretto LED da Esterno con Sensore di Movimento, 185 LED, 3 Modos Lampada Solare da Esterno, IP65 Impermeabile LED Lampione per Giardino, Parete, Garage(2 Pezzi Bianco Freddo)29,99€17,99€
23%
Apple Smart Folio per iPad Air 13″ (M2) – Grigio cenere
08:10
Apple Smart Folio per iPad Air 13″ (M2) – Grigio cenere 119,00€91,99€
47%
Seresto collare antiparassitario per cani oltre 8 kg. Elimina pulci, zecche, pidocchi e protegge dal rischio di trasmissione della leishmaniosi fino a 8 mesi.
08:07
Seresto collare antiparassitario per cani oltre 8 kg. Elimina pulci, zecche, pidocchi e protegge dal rischio di trasmissione della leishmaniosi fino a 8 mesi.55,90€29,49€
10%  
Apple Magic Keyboard per iPad Air 11″ (M3) – Norvegese – Nero
08:05
Apple Magic Keyboard per iPad Air 11″ (M3) – Norvegese – Nero329,00€296,10€
55%  
PETTI Artigiani Italiani – Coppia di Federe Cuscino 45×45 cm in Microfibra, Cuscini Arredo Camera da Letto, Divano, Salotto, Set 2 Fodere Copricuscino, Federa Shabby 326, 100% Made in Italy
08:01
PETTI Artigiani Italiani – Coppia di Federe Cuscino 45×45 cm in Microfibra, Cuscini Arredo Camera da Letto, Divano, Salotto, Set 2 Fodere Copricuscino, Federa Shabby 326, 100% Made in Italy14,90€6,70€

Scarica la nostra app e leggi le notizie in mobilità. Porta iSpazio sempre con te, anche su Telegram.
| Applicazione iOS
Con l'applicazione ufficiale di iSpazio resterai sempre aggiornato sulle notizie Apple, video tutorial per iPhone e tanto altro. riceverai una notifica per ogni nuovo articolo. Puoi utilizzare anche i Widget per tenere le novità sott'occhio nella Home o nella Lockscreen.
Scaricala subito!
| Canale Telegram 10.700+ Utenti
Su Telegram invece, segnaliamo soltanto le notizie più importanti ed urgenti oppure i nostri nuovi video su YouTube. E' un canale molto interessante, assolutamente non invasivo perchè non inviamo troppe push, e vi consigliamo di seguirci anche lì.
Unisciti a noi!
ispazio notifiche
Seguici su Google News
Condividi Facebook Twitter Telegram WhatsApp Threads Email Copia Link
Articolo precedentePromozione “Back To School”: Un iPhone “gratis” per gli studenti americani?
Articolo successivo iSpazio cerca 10 nuovi Blogger: Gli ultimi giorni per candidarsi.

Leggi o Aggiungi Commenti

Advertising

Da non perdere!

Apple presenta i nuovi AirPods Max 2 con chip H2 e traduzione in tempo reale

16 Mar 2026

Amazon Music Unlimited, GRATIS per 3 mesi: risparmia 33€ bloccando Spotify o Apple Music per un periodo!

15 Mar 2026

Il nuovo MacBook Pro con M5 Pro ed M5 Max è disponibile all’acquisto su Amazon in 5 rate

13 Mar 2026

MacBook Neo è ufficialmente disponibile all’acquisto, anche su Amazon ed in 5 comode rate

11 Mar 2026

Gli articoli più letti

Apple rilascia iOS 26.4 RC: la versione finale per tutti gli utenti è prevista per la prossima settimana

Apple rilascia macOS 26.4 RC: tutte le novità in arrivo su Mac

Info su iSpazio
Info su iSpazio

iSpazio è il punto di riferimento italiano per tutti gli appassionati Apple. Dal 2007, sul nostro sito trovi notizie, recensioni e guide per imparare ad utilizzare al meglio iOS, l'iPhone e tutti gli altri dispostivi dell'azienda.

Contattaci
Pubblicità

Il Network
Il Network

L'esperienza maturata su iSpazio ci ha portati, con il tempo, a realizzare altri progetti ed aprire nuovi siti con tematiche strettamente correlate al nostro Blog principale.

Oggi, siamo i fieri proprietari di un Network composto da: iSpazio, Scontiamolo, Wallpapers Central e Teslers.

Link Rapidi
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su
© Copyright 2026 iSpazio SRL | Partita IVA: 10137091210
  • Chi siamo
  • Contattaci
  • Legal
  • Privacy Policy
  • Pubblicità su

Scrivi quello che vuoi cercare e premi Invio.