leading whitespaces nach einem XMLOutputter

Status
Nicht offen für weitere Antworten.

spielerz

Mitglied
Ich habe das Problem , das meine JSP bei der Antwort an den Client den XML-Daten Leerzeilen voranstellt.
Ich teste das alles lokal unter Eclipse , in dem Tomcat 5.5 mit dem Sysdeoplugin laeuft.
Mir würde es auch reichen die führenden Leerzeilen auszufiltern. Hab ueber 2 Stunden gegoogelt aber komme einfach nicht weiter.

die JSP :

Code:
<%
//System.out.println("start");

try{
Class.forName("oracle.jdbc.driver.OracleDriver");
}
catch (Exception e) {
            System.err.println("Treiber nicht gefunden");}
%>
<%        
Iterator paramNames;		// Namen der ueberg. Parameter
String city="",country="",param;
final String CITY="city",COUNTRY="country";
Connection con=null;
String help;
String []help1;
try{    
con=DriverManager.getConnection("blah");

}catch(Exception e){System.err.println("Error connecting to DB");}
//  save parameters
paramNames=(Iterator)request.getParameterNames();
try{
help=(String)paramNames.next();
if (help.equalsIgnoreCase(CITY))
	{
	help1=request.getParameterValues(help);
	city=(String)help1[0];
	}
else throw new Exception();
help=(String)paramNames.next();
if (help.equalsIgnoreCase(COUNTRY))
	{
	help1=request.getParameterValues(help);
	country=(String)help1[0];	
	}
else throw new Exception();
}catch(Exception e){System.err.println("Malformed Parameters"+e);}

Statement stmt;
String query;
ResultSet rs;
stmt=con.createStatement();
float maxLatitude,minLatitude,maxLongitude,minLongitude;

// get coordinates from database

query="SELECT  max(Latitude) FROM Pub WHERE CITY='"+city+"' AND COUNTRY='"+country+"'";
rs=stmt.executeQuery(query);
rs.next();
maxLatitude=rs.getFloat(1);

query="SELECT  min(Latitude) FROM Pub WHERE CITY='"+city+"' AND COUNTRY='"+country+"'";
rs=stmt.executeQuery(query);
rs.next();
minLatitude=rs.getFloat(1);

query="SELECT  max(Longitude) FROM Pub WHERE CITY='"+city+"' AND COUNTRY='"+country+"'";
rs=stmt.executeQuery(query);
rs.next();
maxLongitude=rs.getFloat(1);

query="SELECT  min(Longitude) FROM Pub WHERE CITY='"+city+"' AND COUNTRY='"+country+"'";
rs=stmt.executeQuery(query);
rs.next();
minLongitude=rs.getFloat(1);

// Select pubs within the coordinates
query=("SELECT  * From Pub WHERE (Latitude BETWEEN "+minLatitude+
" AND "+maxLatitude+" AND Longitude between "+minLongitude+
" AND "+maxLongitude)+")"	;

rs=stmt.executeQuery(query);
pubTools.RStoXML1 r=new pubTools.RStoXML1(rs,"pubs","pub.dtd");
Document doc1=r.build();
XMLOutputter out1=new XMLOutputter();
response.setContentType("text/xml");
System.out.println(gra);
out1.output(doc1,out);

%>


RStoXML1 erstellt einen Baum aus einem Resultset.
Code:
package pubTools;
import java.sql.*;
import org.jdom.*;

public class RStoXML1 
{
	private ResultSetMetaData rsmd;
	private int columnCount;
	private String rowName;
	private Element root,rows,child;
	DocType docType;
	String [] columnNames;
	ResultSet rs;	
	public RStoXML1(ResultSet rs,String rootElement,String docType)
	{
		try{
		rsmd=rs.getMetaData();
		columnCount=rsmd.getColumnCount();
		rowName="pub"; //rsmd.getTableName(1);
		System.out.println("rowName="+rowName);
		columnNames=new String[columnCount];
		for(int i=0;i<columnCount;i++)
		{
			columnNames[i]=rsmd.getColumnName(i+1);
		}		
		root=new Element(rootElement);
		this.docType=new DocType(rootElement,docType);
		this.rs=rs;	
		
		}catch(SQLException e){System.err.println(e);}
	}
	
	public Document build(){
		Document doc=new Document(root,docType);
		
		try {
			
			rs.next();
		while(rs.next())
		{
			rows=new Element(rowName);
			for(int i=1;i<=columnCount;i++)
			{
				System.out.println(i);
				child=new Element(columnNames[i-1]);
				child.setText(rs.getString(i));
				rows.addContent(child);
			}
			root.addContent(rows);			
		}		
	}catch(SQLException e){System.err.println(e);}
	return doc;
	}
}
 

EOB

Top Contributor
ist dein problem, dass du nicht weisst, WIE dir lerrzeichen abzutrenne sind, oder das du nicht weisst WO sie angehaengt werden?

gruesse
 

spielerz

Mitglied
ich weiss weder das eine noch das andere. Schöner wärs natürlich wenn die gar nicht erst reinkämen, aber mir würds halt auch reichen wenn ich sie wieder rausbekomme.
Ich hab versucht alle Elemente zu trimmen ( hatte nichts gebracht).
XMLOutput(Format.getCompactFormat) hatte auch keinen Effekt.
 

EOB

Top Contributor
trim schneidet aber nur das jeweils erste und letzte ab. wenns mehr sind, wuerd ich sowas nehmen:

Code:
string.replaceAll("(^ +)|( +$)", "");

gruesse
 

spielerz

Mitglied
ich hab nochmal die komplettte JSP reingemacht. Also ich mache aus einem Resultset eine JDOM Document und das schicke ich ueber den XMLOutputter
 

The_S

Top Contributor
Sry, mit JDom habe ich noch nichts gemacht. Kann dir da also nicht weiterhelfen. Evtl. kann es ja jemand anderes ;) .
 

spielerz

Mitglied
ich glaube allerdings eher nicht das die Leerzeilen in der RStoXML1 Methode dareinkommen- kanns evt an Tomcat liegen ?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W Whitespaces verschieben Inhalte XML & JSON 11
G Whitespaces zwischen den Elementen entfernen XML & JSON 14
K XML parsen Whitespaces XML & JSON 2
wofus JSON filtern nach bestimmten Wert XML & JSON 7
Q Konvertierung von json zum Java Objekt nach vorgegebenem Schema XML & JSON 3
R Handler-Wechsel, SAX Parser bricht nach 8192 Byte ab XML & JSON 5
I Newlines nach childs erste ebene (dom) XML & JSON 3
K Docbook tranformieren nach LaTeX XML & JSON 2
sylo Nach Export wird SAXParseException nicht mehr geworfen XML & JSON 4
T XPath Problem: finden einer Node nach Attributswert XML & JSON 2
N xml nach Value durchsuchen XML & JSON 8
W String nach XML nach String verwandeln XML & JSON 4
D XML nach BME Cat Norm prüfen? XML & JSON 4
I Editor, der nur Elemente einfuegt, die nach xsd zulaessig XML & JSON 2
A Point2D.double nach XML XML & JSON 2
A html-File nach txt-File konvertieren XML & JSON 15
T Newbie Frage. CSS Stylesheet einlesen und suchen nach Tags XML & JSON 6
A Auf der Suche nach Bibliotheken oder wie parsen? XML & JSON 15
M RSS nach WML XML & JSON 9
V Datenverlust nach sortieren (nur beim serialisieren) XML & JSON 4
H Nach einem Attribut suchen und dann löschen XML & JSON 3
M jaxb binding nach set XML & JSON 9

Ähnliche Java Themen

Neue Themen


Oben