xml und xsl parsen mit xerces

Status
Nicht offen für weitere Antworten.
X

xerces

Gast
Hallo,

ich möchte xml und xsl mit xerces parsen. Wo kann ich diese Bibliothek runterladen und kann mir jemand an einem Bsp zeigen wie man das macht?

Danke
 

byte

Top Contributor
Xerces gibts hier: http://xerces.apache.org/xerces2-j/

Beispiele zum Parsen solltest Du dort auch finden. Wenns Dir zu kompliziert ist, dann verwende einfach JDOM.

Wegen der XSL: Ich nehme mal nicht an, dass Du das Stylesheet als XML-Datei parsen willst, sondern damit eine Transformation machen willst. Dazu brauchste dann noch nen XLS Prozessor, wie z.B. den hier: http://xalan.apache.org/

Der kann aber afaik noch kein XSLT 2.0. Dafür kannste Saxon verwenden: http://www.saxonica.com/
 
X

xerces

Gast
Hallo, ich habe
xerces-2_8_0 runtergeladen.

Die .jar Datein die in dem Ordner waren:

resolver.jar
xercesImpl.jar
xercesSamples.jar
xml-apis.jar


Ich habe mir das so vorgestellt:
Aus xml und xsl kommt html raus. Und dieses Xerces wandelt das um.
Mein Problem ist -> ich habe von Java fast keine Ahnung, ich habe das so angefangen:

Code:
public class Main
{
	public static void main(String[] arg)
	{
		String xml = "<root>"+
				"<satz/>"+
			 "</root>";
	   String xsl = "<xsl:template match="/">"+
					 "<head></head><body>"+
					 "<xsl:apply-imports/>"+
					 "</body>"+
					 "</xsl:template>"+
					 
					 "<xsl:template match="satz">"+
					 "Das ist ein Test" +
					 "</xsl:template>";
	}
}

Könnte jemand bitte meine Main Klasse richtig in Java schreiben, damit am Ende das funktioniert und ich "Das ist ein Test" erhalte?
Danke
 

byte

Top Contributor
Nein! Wenn Du von XML über XSL zu HTML transformieren willst, brauchst Du einen (XSL) Prozessor (so heisst das). Also z.b. Xalan oder Saxon.

Also z.b. Saxon und JDOM runterladen und dann folgendermaßen per Java transformieren:

Code:
	public void transform(String xml, String xsl, String out) {
		try {
			SAXBuilder builder = new SAXBuilder();
			Document doc = builder.build(new File(xml));
			DocumentWrapper docw = new DocumentWrapper(doc, xml, new Configuration());
			System.setProperty("javax.xml.transform.TransformerFactory",
			                   "net.sf.saxon.TransformerFactoryImpl");
			TransformerFactory tfactory = TransformerFactory.newInstance();
			Templates templates = tfactory.newTemplates(new StreamSource(xsl));
			Transformer transformer = templates.newTransformer();
			File output = new File(out);
			transformer.transform(docw, new StreamResult(output));
			
		} catch(JDOMException e1) {
			e1.printStackTrace();
		} catch(IOException e2) {
			e2.printStackTrace();
		} catch(TransformerConfigurationException e3) {
			e3.printStackTrace();
		} catch(TransformerException e4) {
			e4.printStackTrace();
		}
	}

Die Parameter (xml, xsl, out) sind jeweils die Pfade zu den Dateien (out ist das Ergebnis, also in Deinem Fall die HTML Datei).
 
X

xerces

Gast
Hallo,

ich "muss" das über xersec realisieren.

Ich habe folgendes geschrieben :


Code:
import java.io.File;

import javax.xml.transform.OutputKeys;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.TransformerFactoryConfigurationError;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;

public class Main
{
	public static void main(String[] args) throws TransformerFactoryConfigurationError, TransformerException
	{
		Transformer t = TransformerFactory.newInstance().newTransformer();
		
		File f1 = new File("C:\\xmlParser\\text.xml");
		File f2 = new File("C:\\xmlParser\\out.html");
		StreamSource xmlSource = new StreamSource( f1 );
		StreamResult outputTarget = new StreamResult( f2 );
		t.setOutputProperty(OutputKeys.METHOD,"html");
		t.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION,"no");
		t.setOutputProperty(OutputKeys.STANDALONE,"yes");
		t.transform(xmlSource, outputTarget);
	}
}


Funktioniert noch nicht ganz. Anstatt html in out.html zu schreiben, schreibt er den Inhalt der text.xml Datei rein.
Man hat mir gesagt, dass es über xersec geht und gehen muss.

Was ist an dem Code falsch?

Danke im Voraus
 
G

Guest

Gast
Meine XSL und XML Dateien:

Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
 <html><head></head><body>
  <xsl:apply-templates />
 </body></html>
</xsl:template>

<xsl:template match="satz">
 <html><head></head><body>
  <xsl:apply-templates />
 </body></html>
</xsl:template>

</xsl:stylesheet>



Code:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="text.xsl" ?>
<root>
    <satz/>
</root>
 
X

xerces

Gast
<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html><head></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>

<xsl:template match="satz">
<html><head></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>

</xsl:stylesheet>

Ich meinte so:

<?xml version="1.0" encoding="iso-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
<html><head></head><body>
<xsl:apply-templates />
</body></html>
</xsl:template>

<xsl:template match="satz">
Das ist ein Test
</xsl:template>

</xsl:stylesheet>
 

byte

Top Contributor
xerces hat gesagt.:
Man hat mir gesagt, dass es über xersec geht und gehen muss.

Die Diskussion ist etwas müßig, wenn Du all das was ich schreibe ignorierst. Lies Dich am besten erstmal in die Thematik ein. Du könntest damit anfangen nachzulesen, was ein Parser ist und was Xerces im speziellen kann und was nicht.
 
X

xerces

Gast
Hab schon selber meinen Parser geschrieben mit xerces....
Tolles Forum :bloed:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M Xerces -Parsen mit einer externen Schemadatei geht nicht XML & JSON 2
MiMa Buch Metadaten aus XML Datei parsen XML & JSON 48
S XML Document Parsen und Ausgeben mit Suchfunktion XML & JSON 21
M parsen von realen HTML-WEB-Seiten XML & JSON 1
MiMa parsen mit regex -> ein schnelles Ende XML & JSON 10
K Beim Parsen einer XML-Datei Connection timed out XML & JSON 4
F Parsen von Daten aus einer Homepage XML & JSON 6
G Langsam beim SAX-Parsen - woran liegts? XML & JSON 2
C Parsen des XML-Streams mit SAX XML & JSON 3
M XML Datei Parsen XML & JSON 4
D SAX parsen - Wie? XML & JSON 11
S XML Parsen und Werte zwischenspeichern XML & JSON 2
K Kurze XML Datei Parsen XML & JSON 5
whitenexx Problem beim parsen von Facebook XML XML & JSON 3
J Comments in XML parsen XML & JSON 3
H Nicht wohlgeformtes XML mit SAX parsen XML & JSON 2
M XML Parsen JDOM NullPointerEcxeption XML & JSON 7
Z XML parsen - Element mit Werten XML & JSON 2
ruutaiokwu xml nur bis auf eine bestimmte ebene parsen mit javax.xml... XML & JSON 5
L [SAX] Geschachtelte XML Datei parsen XML & JSON 3
R XML in UTF-8 mit SAX parsen XML & JSON 9
O Parsen einer XML mit JDOM ohne Doctype Declaration XML & JSON 2
F Probleme beim html parsen mit tagsoup XML & JSON 4
M Probleme beim Parsen eines gefilterten XML-Dokuments XML & JSON 6
Semox Kann JUnit XML Parsen? XML & JSON 2
L Reihenfolge beim xml Datei parsen einhalten? XML & JSON 8
L xml Datei parsen ohne End-Tag XML & JSON 6
T RSS-Feed parsen und in Datenbank speichern XML & JSON 6
B XML parsen XML & JSON 3
H XML parsen und unbekannten Namespace zurückgeben XML & JSON 5
L invalide xml document parsen?! XML & JSON 2
S DOM Parsen Problem mit HTML Sonderzeichen XML & JSON 4
ABstraCT XML properties am einfachsten parsen. XML & JSON 2
U xmi parsen über emf XML & JSON 10
S XML-Schema einlesen um parsen zu erleichtern? XML & JSON 2
T Problem beim Parsen von Attribut xmlns="urn:com:test&qu XML & JSON 6
P XMLGregorianCalender parsen XML & JSON 4
M Datei parsen XML & JSON 5
S HTML mit dom4j parsen? XML & JSON 2
X XML File auslesen/parsen u. in ne Hashmap speichern XML & JSON 2
Saxony unbekannte XML Datei parsen und ausgeben XML & JSON 10
P "Formatierungs-Tags" parsen XML & JSON 3
M Attribute parsen XML & JSON 6
R Parsen einer XML ohne Validierung XML & JSON 2
D XML Datei innerhalb einer JAR Datei parsen XML & JSON 2
L bz2-Datei parsen XML & JSON 9
K XML parsen Whitespaces XML & JSON 2
I XML-String mit SAX parsen ? XML & JSON 2
M Object in XML parsen XML & JSON 2
byte Probleme beim Parsen von XHTML-Datei XML & JSON 4
P HTML Seite Parsen, und bestimmten Text extrahieren XML & JSON 3
W Xml-String parsen XML & JSON 2
W root element parsen,Hilfe! XML & JSON 5
F Gibt es Möglichkeiten Deutsche Sätze zu parsen ? XML & JSON 2
A Auf der Suche nach Bibliotheken oder wie parsen? XML & JSON 15
S XML Datei mit Schemafehler parsen XML & JSON 14
R StreamSource parsen ! XML & JSON 8
R RSS parsen XML & JSON 2
K XML Datei parsen XML & JSON 4
pkm Xerces Installation testen XML & JSON 4
D Wie installiert man Xerces? XML & JSON 5
K jaxp.jar, xalan.jar, xerces.jar XML & JSON 2
S Java 6 und Xerces-j-2-9 XML & JSON 3
J schema-Validierung mit xerces und jdom: bug in java 1.4? XML & JSON 9
H Neu bei JAVA- Probleme mit der Integration von Xerces XML & JSON 3

Ähnliche Java Themen

Neue Themen


Oben