bytes.cat

La wiki d'FP d'informàtica

Eines de l'usuari

Eines del lloc


java_lectura_escriptura_xml

Diferències

Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.

Enllaç a la visualització de la comparació

Següent revisió
Revisió prèvia
java_lectura_escriptura_xml [2022/11/24 16:37]
albert_palacios_jimenez creat
java_lectura_escriptura_xml [2022/11/24 16:49] (actual)
albert_palacios_jimenez
Línia 8: Línia 8:
 ==== Arxius XML en Java ==== ==== Arxius XML en Java ====
  
-Els arxius XML poden tenir un tractament especial, per tal de poder accedir directament a les dades que contenen a través del seu arbre. +En Java, els arxius XML poden tenir un tractament especial, per tal de poder accedir directament a les dades que contenen a través del seu arbre. Els exemples d'aquest document fan referència a un XML tipus: 
 + 
 + 
 +<code xml> 
 +<?xml version="1.0" encoding="UTF-8"?> 
 +<!DOCTYPE root SYSTEM "school.dtd"> 
 +<root type="database"> 
 +    <students type="table"> 
 +        <student id="id_e00"> 
 +            <name>Maria</name> 
 +            <surname>Longstorm</surname> 
 +            <age>18</age> 
 +            <course>1B</course> 
 +        </student> 
 +        <student id="id_e01"> 
 +            <name>John</name> 
 +            <surname>Bluefield</surname> 
 +            <age>17</age> 
 +            <course>1B</course> 
 +        </student> 
 +    </students> 
 +    <teachers type="table"> 
 +        <teacher id="id_t00" type="row" tutor="yes"> 
 +            <name>Emmie</name> 
 +            <surname>Fastbelt</surname> 
 +            <age>35</age> 
 +            <group>1A</group> 
 +        </teacher> 
 +        <teacher id="id_t01" type="row" tutor="yes"> 
 +            <name>Ernald</name> 
 +            <surname>Softson</surname> 
 +            <age>23</age> 
 +            <group>1B</group> 
 +        </teacher> 
 +    </teachers> 
 +</root> 
 +</code> 
  
 Per llegir arxius XML fem servir "DocumentBuilderFactory", per obtenir el "Document" amb les dades, per exemple: Per llegir arxius XML fem servir "DocumentBuilderFactory", per obtenir el "Document" amb les dades, per exemple:
Línia 22: Línia 59:
        }} catch(Exception e) { e.printStackTrace(); }        }} catch(Exception e) { e.printStackTrace(); }
 </code> </code>
 +
 +Hi ha diferents maneres d'accedir a la informació dels Elements XML, una d'elles és amb "**.getElementsByTagName**", que ens retorna la llista d'elements amb aquest nom d'element (a l'exemple "student")
 +
 +El valor dels atributs d’un element es pot llegir amb “.**getAttribute**”
  
 En aquest exemple es veu com es poden llegir els atributs i continguts dels elements d'un arxiu XML: En aquest exemple es veu com es poden llegir els atributs i continguts dels elements d'un arxiu XML:
Línia 37: Línia 78:
 </code> </code>
  
-Cal fixar-se que es comprova que els elements siguin de tipus "ELEMENT_NODE" i no de text, per tal de poder fer el "**cast**" cap a "Element"+Cal fixar-se que també es poden agafar elements a partir de la seva posició amb "**.item**"si els elements tenen contingut de text, aquest es pot obtenir amb "**.getTextContent**"
  
-Aleshores ja es poden llegir els atributs o els altres elements que tingui dins.+També cal tenir en compte que es comprova que els elements siguin de tipus "ELEMENT_NODE" i no de text, per tal de poder fer el "**cast**" cap a "Element" 
 + 
 +Així ja es poden llegir els atributs o els altres elements que tingui dins ...
  
 == XPath == == XPath ==
  
 Per poder accedir més fàcilment als elements de l'arbre XML, es pot fer servir XPath Per poder accedir més fàcilment als elements de l'arbre XML, es pot fer servir XPath
 +
 +Amb XPath es defineix el filtre dels elements que es volen obtenir en forma d'expressió, i desrprés s'avalua aquesta expressió per obtenir la llista en qüestió.
  
 <code java> <code java>
Línia 64: Línia 109:
  
 == Generar un arbre XML amb elements i atributs == == Generar un arbre XML amb elements i atributs ==
 +
 +Per generar un arbre XML i definir quins elements té, o bé quins atributs tenen aquests elements hi ha les funcions:
 +
 +- .**createElement**, crea un node de tipus element
 +
 +- .**createTextNode**, crea un node de tipus text
 +
 +- .**appendChild**, afegeix un element fill a un altre element
 +
 +- **setAttributeNode**, afegeix un atribut (i el seu valor) a un element
 +
  
 Aquest exemple mostra com es pot generar un arbre XML amb elements i atributs: Aquest exemple mostra com es pot generar un arbre XML amb elements i atributs:
Línia 86: Línia 142:
  
 Finalment, per escriure un arbre XML com l'anterior en un arxiu: Finalment, per escriure un arbre XML com l'anterior en un arxiu:
- 
- 
  
 <code java> <code java>
Línia 106: Línia 160:
  
 ==== Exemples ==== ==== Exemples ====
 +
 +{{ ::java-lecturaescripturaxml.zip |}}
  
 {{ ::java-lecturaescriptura.zip |}} {{ ::java-lecturaescriptura.zip |}}
java_lectura_escriptura_xml.1669307859.txt.gz · Darrera modificació: 2022/11/24 16:37 per albert_palacios_jimenez