Hallo,
ich habe ein Problem beim parsen einer XML-Datei. In einer Webanwendung parse ich in einer Bean eine XML-Datei. Aber leider macht er das nicht wie in einer Standalone-Anwendung. Dort funktioniert das Prog ohne Probleme. Hier mal der Code der Bean. Unten noch mal die Files zum Download.
Hier noch meine jsp.file und meine xml-file
Hier noch mal die Files zum Download
http://www.sven-kueter.de/jsp.rar
http://www.sven-kueter.de/purejava.rar
ich habe ein Problem beim parsen einer XML-Datei. In einer Webanwendung parse ich in einer Bean eine XML-Datei. Aber leider macht er das nicht wie in einer Standalone-Anwendung. Dort funktioniert das Prog ohne Probleme. Hier mal der Code der Bean. Unten noch mal die Files zum Download.
Code:
package meineBeans;
import java.io.*;
import org.xml.sax.helpers.*;
import javax.xml.parsers.*;
import org.xml.sax.*;
public class parsen extends DefaultHandler
{
private String pfad, datei = "";
String html = "";
public String parsen()
{
DefaultHandler handler = new parsen();
File file = new File(pfad+datei);
boolean laden=file.canRead();
if (laden==true)
{
try
{
SAXParserFactory factory = SAXParserFactory.newInstance();
html=html+"A"; //Nur zu Test zwecken
SAXParser saxParser = factory.newSAXParser();
html=html+"b"; //Nur zu Test zwecken
saxParser.parse(file,handler); //Hier muss der Fehler liegen
html=html+"C"; //Nur zu Test zwecken
}
catch (Throwable t)
{
t.printStackTrace();
html=html+"d"; //Nur zu Test zwecken
}
}
else
{
html=html+"E"; //Nur zu Test zwecken
}
return (html);
}
public void setPfad(String param)
{
this.pfad=param;
}
public void setDatei(String param)
{
this.datei=param;
}
public void startElement(String namespaceURI, String sName, String qName, Attributes attrs)
{
String attributName=new String("");
String attribute=new String("");
String tagElement=new String("");
int i;
html=html+"F"; //Nur zu Test zwecken
if (attrs.getLength() >=1)
{
for (i = 0; i < attrs.getLength(); i++)
{
attributName = attrs.getQName(i);
attribute=attribute+" "+attributName+"='"+attrs.getValue(i)+"'";
}
attribute=" "+attribute;
}
tagElement="<"+qName+attribute+">";
ausgabe(tagElement);
}
public void endElement(String namespaceURI, String sName, String qName)
{
ausgabe("</"+qName+">");
html=html+"G"; //Nur zu Test zwecken
}
public void characters(char[] ch, int start, int length)
{
String str = new String(ch, start, length);
ausgabe(str);
html=html+"H"; //Nur zu Test zwecken
}
public void ausgabe(String s)
{
System.out.println(s);
}
}
Hier noch meine jsp.file und meine xml-file
Code:
<jsp:useBean id="pars" class="meineBeans.parsen"/>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
</head>
<body>
<h1>News</h1>
<%
pars.setPfad(getServletContext().getRealPath("\\"));
pars.setDatei("news.xml");
out.println(pars.parsen());
%>
</form>
</body>
</html>
Code:
<?xml version="1.0" encoding="iso-8859-1"?>
<news>
<aufzaehlung>
<datum>02.11.2022</datum>
<text>Der Netscape-Browser erscheint in der neuen Version 8.9. Verbessert wurde u.a. die Performance und Stabilität des Browsers. </text>
</aufzaehlung>
<aufzaehlung>
<datum>01.11.2022</datum>
<text> Microsoft bringt eine neue XML-API unter dem Namen "Internet Explorer for XML Processing XP edition only" heraus. Diese Fassung arbeitet nur mit den Windows-XP-Versionen zusammen.</text>
</aufzaehlung>
<aufzaehlung>
<datum>30.10.2022</datum>
<text> Der XML-Parser doXMLing erscheint in der Update-Version 5.3.2 rev. 17.98. Gegenüber der Vorversion wurden einige Bugs behoben. </text>
</aufzaehlung>
</news>
Hier noch mal die Files zum Download
http://www.sven-kueter.de/jsp.rar
http://www.sven-kueter.de/purejava.rar