Site icon Dator8 Skåp

Hur länkar jag en java fil & XML?

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

Exit mobile version