1
我正在編寫一個腳本來使用JAXB和MOXy解析KML文件,但我很難讓@XmlPath與提供的命名空間一起工作。獲取MOXy @XmlPath以使用命名空間
如果我的KML看起來是這樣的: -
<kml>
<Document>
<name>Test</name>
</Document>
</kml>
...和我的豆看起來像這樣: -
@XmlRootElement(name = "kml")
public class Kml {
@XmlPath("Document/name/text()")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
...那麼,kml.getName()
回報Test
,這如同它應該。
但是,如果我的KML包含這樣一個命名空間: -
<kml xmlns="http://www.opengis.net/kml/2.2">
<Document>
<name>Test</name>
</Document>
</kml>
...和我的豆看起來像這樣: -
@XmlRootElement(name = "kml", namespace = "http://www.opengis.net/kml/2.2")
public class Kml {
@XmlPath("Document/name/text()")
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
...那麼,kml.getName()
回報null
。
我有jaxb.properties
在合適的包裝水平,我使用下面的莫西的依賴: -
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.moxy</artifactId>
<version>2.3.2</version>
</dependency>
正是我缺少的是什麼?謝謝。