Presentasjon lastes. Vennligst vent

Presentasjon lastes. Vennligst vent

XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML =

Liknende presentasjoner


Presentasjon om: "XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML ="— Utskrift av presentasjonen:

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);


Laste ned ppt "XML og JDOM Helge Furuseth XML  XML = Extensible Markup Language Basert på SGML – Standard Generalized Markup Language  HTML ="

Liknende presentasjoner


Annonser fra Google