Originariamente inviato da goikiu
okay, okay, ci ho provato due giorni di fila -.- nulla da fare... espongo il mio problema:
Il File che devo poter leggere è fatto veramente con i piedi... tutti i dati sono storati in questo modo (metto un esempio)
codice:
<prezzario prezzarioId="1" przId="UNI6" prdStruttura="zzzz.zzz.zzz.zzz" categoriaPrezzario="Listino" arrotondamento="0.01" arrotondamentoImporto="0.01" arrotondamentoPercentuale="0.01">
per un pò e poi va a
<prodotto prodottoId="63" prdId="AA01.A45" voce="true" titolo="true">
<prdDescrizione breve="testo" />
</prodotto>
Io Ho provato in molti modi... ma non riesco a fare quello che vorrei oO
Ho bisogno di aprire il file xml, prendere i campi e storarli in mysql, per poi poterli lavorare agevolmente o.o ... mi potete aiutare?
Ad occhio e croce la cosa più conveniente che ti conviene fare è utilizzare DOM abbinato con xpath in questo modo.
1. Scorri tutti i prezzari e ti prelevi tutti gli attributi, che se ho capito bene ogni attributo rappresenta un campo di una relativa tabella mysql.
2. L' attributo prdStruttura rappresenta la tua foreignKey per raggiungere il sottoalbero XML che ti rappresenta il prodotto. Qui usi una query xpath più o meno così:
Codice PHP:
$dom = new DomDocument();
$dom->load("prezario.xml");
....
//supponiamo che nella variabile $prodId hai memorizzato il valore dell' attributo prdStruttura
$xpath = new DomXPath($dom);
$xpath->query("//prodotto[@prodId='".$prodId."']")->item(0);
//il metodo item(0) ti ritorna il primo e (presumibilmente) unico elemento (DomNode anzichè DomNode List) che ha prodId = prdStruttura
in questo modo puoi navigare il sotto albero prodotto che cerchi e inserirlo in una tabella relazionata con il prezzario.