Laste ned presentasjonen
Presentasjon lastes. Vennligst vent
PublisertAda Gjertsen Endret for 9 år siden
1
XML og JDOM Helge Furuseth furuseth@idi.ntnu.no
2
XML XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language HTML = Hypertext Markup Language Også basert på SGML Mange likheter
3
HTML
4
HTML-kode Jons HTML-dokument Jons HTML-overskrift Bla bla bla, bla bla Bla bla bla
5
XML-kode Jons XML-dokument Jons h1-element Bla bla bla, bla bla Bla bla bla
6
Forskjeller fra HTML XML har strengere syntaks XML har ingen semantikk XML er utvidbart (extensible)
7
Strengere syntaks Case-sensitiv forskjellig fra Slutt-tagger påbudt alene ulovlig eller Attributtverdier må ha anførselstegn Galt: Riktig:
8
Ingen semantikk
9
Utvidbart Lag egne tagger og attributter Helge Furuseth Helge er student ved IDI og und.ass i sif8040
10
Dokumentbeskrivelse Document Type Description (DTD) beskriver XML dokumentets oppbygging <!DOCTYPE person [ ]>
11
Parsing XML ’parses’ slik at applikasjonen kan forstå det Sjekker for syntaks (vel-formethet) og kan validere dette mot en DTD Mest vanlig: DOM (Document Object Model) og SAX (Simple API for XML)
12
Navnerom XML som beskriver en tabell: Apples Bananas XML som beskriver et bord: African Coffee Table 80 120
13
Navnerom (2) Apples Bananas African Coffee Table 80 120
14
Default Namespaces and Scope African Coffee Table 80 120
15
JDOM http://www.jdom.org
16
JDOM Java-klasser som representerer XML- dokumenter ”Java Document Object Model” Alternativ til DOM (og SAX) org.jdom.* Viktige klasser: Element Attribute Document
17
Element Element(String name) Attributter: setAttribute(String name, String value) String getAttributeValue(String name) Attribute getAttribute(String name) Barn: addContent(Element child / String text) Element getChild(String name) String getText() List getChildren()
18
Attribute Attribute(String name, String value) Verdi-metoder: String getValue() int getIntValue() boolean getBooleanValue() osv. Element-metoder ofte tilstrekkelig
19
Document Document(Element rootElement) Element getRootElement()
20
Hente innhold Helge Furuseth Helge er student ved IDI og und.ass i sif8040 … Element rootElement = mittXMLdocument.getRootElement(); Element description = rootElement.getChild(”description"); Element descriptionText = description.getChild(”text”); String text = descriptionText.getText(); …
21
Hent innhold direkte Helge Furuseth Helge er student ved IDI og und.ass i sif8040 … String text = mittXMLdocument.getRootElement().getChild(”description").getChild(”text”).getText(); …
22
Legg til innhold … Element imageURL = new Element(”imageURL"); Text text = new Text (”http://www.stud.ntnu.no/~furuseth/meg.jpeg"); imageURL.addContent (text); mittXMLDocument.getRootElement().getChild(”description").addContent (imageURL); … Helge Furuseth Helge er student ved IDI og und.ass i sif8040 http://www.stud.ntnu.no/~furuseth/meg.jpeg
23
XML-output org.jdom.output.XMLOutputter XMLOutputter(String indent, boolean newlines) output(Document, Writer/OutputStream) output(Element, Writer/OutputStream)
24
XML-input org.jdom.input.SAXBuilder SAXBuilder(String saxParserClassName) new SAXBuilder(”org.apache.xerces.parsers.SaxParser”) Document build(File/Reader/InputStream)
25
Innputt/utputt eksempel import java.io.*; import org.jdom.*; import org.jdom.input.*; import org.jdom.output.*; public class PrettyPrinter { public static void main(String[] args) { // Anta at argument er filnavn String filename = args[0]; try { // Bygger dokument med SAX uten validering SAXBuilder builder = new SAXBuilder(); // Lager document Document doc = builder.build(new File(filename)); // Skriver ut dokument til standard utputt XMLOutputter fmt = new XMLOutputter(); fmt.output(doc, System.out); } catch (Exception e) { e.printStackTrace(); } } }
26
XML-output eksempel Document minXML = … ; //Generer Document URL url = new URL (”protokoll://gribb06.idi.ntnu.no:5555”); URLConnection connection = url.openConnection(); OutputStream out = connection.getOutputStream(); XMLOutputter outputter = new XMLOutputter (””, false); Outputter.output (minXML, out);
Liknende presentasjoner
© 2024 SlidePlayer.no Inc.
All rights reserved.