Dear list, I've got problems with parsing a GML-Format. I do get two objects though from geoserver, as I filtered them. But I don't seem to be able to get the key:value-pairs either of the request or the parser (or both ;-)) set correctly.
Can someone please help me use the namespace prefixes and tags correctly. var filter_header = '<wfs:GetFeature xmlns:wfs="http://www.opengis.net/wfs" service="WFS" '; var filter_header = filter_header + ' version="1.1.0" '; var filter_header = filter_header + 'xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">'; var filter_header = filter_header + '<wfs:Query typeName="demo:flurst" '; var filter_header = filter_header + 'xsi:schemaLocation="http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd '; var filter_header = filter_header + 'http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=demo:flurst" '; var filter_header = filter_header + 'srsName="EPSG:31468" xmlns:feature="http://myDomain.com/demo">'; var filter_footer = '</wfs:Query></wfs:GetFeature>'; var filter_1_1 = new OpenLayers.Format.Filter({version: "1.1.0"}); var xml = new OpenLayers.Format.XML(); var filter_body = new OpenLayers.Filter.Logical({ type: OpenLayers.Filter.Logical.OR, filters: [ new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.EQUAL_TO, property: "infotext", value: "FS30117000000" }), new OpenLayers.Filter.Comparison({ type: OpenLayers.Filter.Comparison.EQUAL_TO, property: "infotext", value: "FS50068000000" }) ] }); filter_body = xml.write(filter_1_1.write(filter_body)); var final_filter = filter_header + filter_body + filter_footer; var dbresponse = new OpenLayers.Request.POST({ url: "http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=demo:flurst", featureNS: "http://myDomain.com/demo", featureNSPrefix:"gml", featureType: "flurst", data: final_filter, geometryName: "the_geom", schema:"http://myDomain.com:8090/geoserver/wfs/DescribeFeatureType?version=1.1.0&typename=demo:flurst", callback:function(dbresponse){ //console.log(dbresponse.responseText); var g = new OpenLayers.Format.GML( { featureType:'flurst', gmlns: 'http://myDomain.com/demo', featureNS:'http://myDomain.com/demo', featurePrefix:"wfs", featureName: 'flurst', geometryName: "the_geom", collectionName:"MultiSurface", extractAttributes: true, } ); //console.log(g); var vectorlayer = new OpenLayers.Layer.Vector("Vector"); var features = g.read(dbresponse.responseText); console.log(features); vectorlayer.addFeatures([features]); map.addLayer(vectorlayer); } }); This is the answer copied from FIREBUG/Console: <?xml version="1.0" encoding="UTF-8"?> <wfs:FeatureCollection numberOfFeatures="2" timeStamp="2009-11-12T08:41:00.430+01:00" xsi:schemaLocation="http://www.opengis.net/wfs http://myDomain.com:8090/geoserver/schemas/wfs/1.1.0/wfs.xsd http://myDomain.com/demo http://myDomain.com:8090/geoserver/wfs?service=WFS&version=1.1.0&request=DescribeFeatureType&typeName=demo:flurst" xmlns:ogc="http://www.opengis.net/ogc" xmlns:demo="http://myDomain.com/demo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ows="http://www.opengis.net/ows" xmlns:gml="http://www.opengis.net/gml" xmlns:xlink="http://www.w3.org/1999/xlink"> <gml:featureMembers> <demo:flurst gml:id="flurst.1359"> <demo:infotext>FS30117000000</demo:infotext> <demo:gemeinde>Musterstadt</demo:gemeinde> <demo:gemarkung>Musterfeld</demo:gemarkung> .. more attributes ... <demo:the_geom> <gml:MultiSurface srsName="http://www.opengis.net/gml/srs/epsg.xml#31468"> <gml:surfaceMember> <gml:Polygon> <gml:exterior> <gml:LinearRing> <gml:posList> ... long list of coordinates .. . </gml:posList> </gml:LinearRing> </gml:exterior> </gml:Polygon> </gml:surfaceMember> </gml:MultiSurface> </demo:the_geom> </demo:flurst> <demo:flurst gml:id="flurst.1537"> .. another feature .. </demo:flurst> </gml:featureMembers> </wfs:FeatureCollection> I use Geoserver 1.7.4., OL 2.8 I hope, someone can help me. Thanks in advance from Babsi _____________________________________________________________ DSL-Preisknaller: DSL-Komplettpakete von WEB.DE schon für 16,99 Euro/mtl.!* Hier klicken: http://produkte.web.de/go/02/ _______________________________________________ Users mailing list [email protected] http://openlayers.org/mailman/listinfo/users
