有什么方法可以在KML文件中删除额外的命名空间前缀(即ns2)?适用于KML的Java API(JAK) - 删除额外的ns2注释(kml)
这是我从我的代码收到KML的例子:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:kml xmlns="http://www.google.com/kml/ext/2.2" xmlns:ns2="http://www.opengis.net/kml/2.2" xmlns:ns3="http://www.w3.org/2005/Atom" xmlns:ns4="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0">
<ns2:Placemark>
<ns2:name>London, UK</ns2:name>
<ns2:open>1</ns2:open>
<ns2:Point>
<ns2:coordinates>-0.126236,51.500152</ns2:coordinates>
</ns2:Point>
</ns2:Placemark>
</ns2:kml>
我想是这样的:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kml xmlns="http://www.opengis.net/kml/2.2" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:xal="urn:oasis:names:tc:ciq:xsdschema:xAL:2.0" xmlns:gx="http://www.google.com/kml/ext/2.2">
<Placemark>
<name>London, UK</name>
<open>true</open>
<Point>
<altitudeMode>clampToGround</altitudeMode>
<coordinates>-0.126236,51.500152</coordinates>
</Point>
</Placemark>
</kml>
这是我的Java代码:
final Kml kml = new Kml();
kml.createAndSetPlacemark()
.withName("London, UK").withOpen(Boolean.TRUE)
.createAndSetPoint().addToCoordinates(-0.126236, 51.500152);
//marshals to console
kml.marshal();
//marshals into file
kml.marshal(new File("output.kml"));
任何帮助非常感谢!谢谢!
的可能重复【JAVA:编组对象 - 在XML中,除去多余的NS2注释](http://stackoverflow.com/questions/7014746/ java-marshalling-object-removing-extra-ns2-annotation-in-xml) – geocodezip
我没有从那里得到任何解决方案... –