我目前正在尝试将一些现有的XML解组到我手工创建的几个类中。问题是,我总是得到一个错误,告诉我,JaxB需要一个天气元素,但却找到了一个天气元素。(?)
UnMarshalException:意外元素(URI:“http://www.aws.com/aws”,本地:“weather”)。需要的元素为<{}API>、<{}Location>、<{}Weather>
@XmlRootElement(name = "aws:weather")
public class WeatherBugWeather
{
private WeatherBugApi api;
private List<WeatherBugLocation> locations;
private String uri;
@XmlElement(name="aws:api")
public WeatherBugApi getApi()
{
return this.api;
}
@XmlElementWrapper(name = "aws:locations")
@XmlElement(name = "aws:location")
public List<WeatherBugLocation> getLocations()
{
return this.locations;
}
public void setApi(WeatherBugApi api)
{
this.api = api;
}
public void setLocations(List<WeatherBugLocation> locations)
{
this.locations = locations;
}
@XmlAttribute(name="xmlns:aws")
public String getUri()
{
return this.uri;
}
public void setUri(String uri)
{
this.uri = uri;
}
}
这就是我试图解析的XML:
<?xml version="1.0" encoding="utf-8"?>
<aws:weather xmlns:aws="http://www.aws.com/aws">
<aws:api version="2.0" />
<aws:locations>
<aws:location cityname="Jena" statename="" countryname="Germany" zipcode="" citycode="59047" citytype="1" />
</aws:locations>
</aws:weather>
我不太确定我做错了什么。有什么提示吗?我怀疑问题出在xmlns定义上,但我不知道该怎么做。(您可以通过查看uri-property看出这一点。这是一个失败的想法。^^)是的,我确实尝试过设置命名空间,但设置的是命名空间的uri,而不是...名称。
在代码中需要名称空间。名称空间前缀没有意义,您需要实际的名称空间(即“http://www.aws.com/aws”)。
@XmlRootElement(name = "weather", namespace="http://www.aws.com/aws")
并设置Claas
我有一个关于通过JAXB封送的小问题。 当前我有一个对象的HashMap 由自定义HashMapAdapter封送的being 封送基于以下文章:http://blog.bdoughan.com/2013/06/moxys-xmlvariableNode-using-maps-key-as.html HashMap由布尔值、长值或字符串值填充。 因此,关于Blog,预期的JSON输出应该是: 西蒙
我正在尝试使用JAXB进行封送处理。 我的输出是这样的: ...但我需要这样的输出: 如果取消对代码的注释,则会得到。没有它,我可以编译,但我不能得到所需的精确输出。 我的豆子长这样: 适配器类
我有这些课程: 用户 地址 输出 我如何解决这个问题?我是否可以使用一些JAXB注释?怎么做?还是需要创建某种类型的XmlAdapter?(我试过这个,但没有成功……)
问题内容: 我想使用JAXB 2.1 XJC从xsd生成Java代码。我提供了xsd模式,无法更改。我想在从xml架构生成Java类时使用 xjc:simple 模式。 在xsd中有一些元素: 如此处所述:http : //jaxb.java.net/guide/Mapping_of__xs_any___.html我希望这些元素将被绑定到: 但是当我使用简单绑定模式 xjc:simple时, 我有
我对JAXB很陌生,在解封一般对象时遇到了麻烦。问题是我需要能够封送和解封任何对象(java.lang.object)。我成功地进行了封送处理,但是当我运行解封处理时,响应中得到的是一个“ElementNSimpl”对象,而不是我自己的对象。 这是涉及的bean: message.java somebean.java jaxb.index的内容: 生成的xml很好()但是在解封后计算“msg.ge