我必须使用 Java 中的 jdom 将 GML 服务器响应转换为 GPX 文件到目前为止,我发送到服务器的 Get-Feature-Request 是正确的,并给了我一个 GML 文件作为响应,但是当我想打印文件它说 [#document: null]控制台输出:网址https://www.geoportal-amt-beetzsee.de/isk/beet_radwanderwege?service=WFS&version=1.0.0&REQUEST=GetFeature&typename=Riewend-Burgwall-Wanderweg[#document: null]try { //zu Funktionstestzwecken - löschen wenn nicht mehr benötigt String typename = gui.ConverterDialog.tfconverter.getText(); String urlString = gui.UrlDialog.txturlinput.getText() + "?service=WFS&version=1.0.0&REQUEST=GetFeature&typename=" + typename; //entfernen wenn nicht mehr benötigt System.out.println("url "+ urlString); URL url = new URL(urlString); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db = dbf.newDocumentBuilder(); Document doc = db.parse(url.openStream()); //doc.getDocumentElement().normalize(); //entfernen wenn nicht mehr benötigt //doc null ??? System.out.println(doc);} catch(Exception e) { String errorMessage = "An error occured:" + e; System.err.println(errorMessage); e.printStackTrace();}
2 回答
幕布斯6054654
TA贡献1876条经验 获得超7个赞
这段代码解决了这个问题:
//...
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(url.openStream());
doc.getDocumentElement().normalize();
Transformer transformer = TransformerFactory.newInstance().newTransformer();
transformer.setOutputProperty(OutputKeys.INDENT, "yes");
StreamResult result = new StreamResult(new StringWriter());
DOMSource source = new DOMSource(doc);
transformer.transform(source, result);
String xmlString = result.getWriter().toString();
System.out.println(xmlString);
添加回答
举报
0/150
提交
取消