XML-dokument är en W3C ( World Wide Web Consortium ) standard för innehav och transport av data kring Internet , så det är inte förvånande att Sun Microsystems har säkerställt Java API innehåller ett antal klasser för att läsa , tolka och skriva XML-dokument programmatiskt inifrån Java . Även om du använder dessa klasser kan tyckas lite överväldigande i början , kommer det inte ta lång träning innan du får kläm på det
Du behöver : .
Java
1 .
Importera klasser från API . Dessa klasser kommer att behövas för handledningen , så se till att lägga till dessa importera uttalanden till jobbet av dina Java -fil :
import com . sun. org. apache. xml. internal. serialize. OutputFormat ;
import com. sun. org. apache. xml. internal. serialize. XML11Serializer ;
import com. sun. org. apache. xml . internal. serialize. XMLSerializer ;
import java. io. File ;
import java. io. FileOutputStream ;
import javax. xml. parsers. DocumentBuilder ;
import javax. xml . parsers. DocumentBuilderFactory ;
import org. w3c. dom. Document ;
import org. w3c. dom. Element ;
import org. w3c. dom. Node ;
import org . w3c. dom. NodeList ;
2
Skriv följande kod i en Java- källfil :
DocumentBuilder xmlDocumentBuilder=DocumentBuilderFactory . newInstance ( ) newDocumentBuilder () ; .
Dokument d=xmlDocumentBuilder. newDocument () ;
Dessa första raderna skapa ett nytt XML- dokument i minnet
Element . root=d. createElement ( "Användare " ) ;
d. appendChild ( root ) ;
Roten är på högsta nivå nod i XML- dokumentet anges här . I detta fall kommer XML-dokumentet har en databas med användare , så rotnoden " användare. "
Element e=d. createElementNS ( null , " Användaren ") ;
Element barn=D. createElement ( " namn " ) ;
child. setTextContent ( " Kevin " ) ;
e. appendChild ( barn ) ,
barn=d. createElement ( " typ " ) ;
child. setTextContent ( " admin " ) ;
e. appendChild ( barn ) ,
root. appendChild ( e ) ;
En användare är skapas och två delmoment har tilldelats : en för användarens namn och en annan för hans typ . Den här är en administratör som heter Kevin
e=d. createElementNS ( null , " Användare ") .
barn=D. createElement ( " namn " ) ;
child. setTextContent ( " Bill " ) ;
e. appendChild ( barn ) ,
barn=d. createElement ( " typ " ) ;
child. setTextContent ( " gäst " ) ;
e. appendChild ( barn ) ,
root. appendChild ( e ) ;
annan användare skapas, en gäst användare med namnet Bill
FileOutputStream FOS=new FileOutputStream ( "C: \ Users. xml " ) .
OutputFormat av=new OutputFormat ( "XML" , " ISO -8859-1 " , true ) ;
XMLSerializer serializer=new XML11Serializer ( FOS , i ) ,
serializer . serialisera ( d. getDocumentElement ());
fos. close () ;
Fram till nu har det XML-dokument hållits i en abstrakt form i minnet . Dessa kommandon skriva till disken .
3 .
Läs XML- dokument tillbaka in i minnet från filen och iterera genom den , skriva ut data till konsolen som det visar . Klistra in följande kod :
d=xmlDocumentBuilder. parse ( ny fil ( " C : \ Users. xml "));
NodeList NL=d. getChildNodes () ;
for (int x=0 , x
Node n=nl. item ( x ) ,
System. out. print ( n. getTextContent ());
}
Körning av det här kommer att ge resultatet :
Kevin
admin
Bill
gäst
4
. Sök i XML- dokument för specifik information. I detta fall söka i dokumentet och bara skriva ut användarens namn. Klistra in följande kod :
nl=d. getElementsByTagName ( " namn ") ;
for (int x=0 , x
Node n=nl . post ( x ) ,
System. out. println ( n. getTextContent ());
}
Resultatet av denna bit av kod kommer att vara :
Kevin
Bill