我的架构指定了一个名称空间,但是文档没有。在JAXB解组(XML-> object)期间忽略名称空间的最简单方法是什么?
换句话说,我有
<foo><bar></bar></foo>
代替,
<foo xmlns="http://tempuri.org/"><bar></bar></foo>
我相信你必须将名称空间添加到xml文档中,例如,使用SAX过滤器。
这意味着:
public static Object unmarshallWithFilter(Unmarshaller unmarshaller,
java.io.File source) throws FileNotFoundException, JAXBException
{
FileReader fr = null;
try {
fr = new FileReader(source);
XMLReader reader = new NamespaceFilterXMLReader();
InputSource is = new InputSource(fr);
SAXSource ss = new SAXSource(reader, is);
return unmarshaller.unmarshal(ss);
} catch (SAXException e) {
//not technically a jaxb exception, but close enough
throw new JAXBException(e);
} catch (ParserConfigurationException e) {
//not technically a jaxb exception, but close enough
throw new JAXBException(e);
} finally {
FileUtil.close(fr); //replace with this some safe close method you have
}
}
当我试图使用包含名称空间的JAXB将xml转换为Java对象时,会发生错误。 示例示例:' Zeta Walnes ` 我需要忽略名称空间
我花了一些时间来调查是什么问题,但我不能解决它。当我在XML下面反封送和回封送时,我看到的是不同的XML。 在上面的xml中,只有一个标记(第一个),其余所有(包括名称空间)都是意外元素。另一个应用程序发送上述XML。 null 我真的不明白QName的事
问题内容: 这是我的xml,需要将其转换为Java。我用过jaxb 并引发以下异常javax.xml.bind.UnmarshalException:意外元素(uri:“ http://www.ae.com/Event/Load ”,本地:“ Order”)。期望的元素是<{} lm:Order> 这是我的解组代码 订购Pojo班 您能否也帮助我阅读,当前正在读取文件,需要读取为XML Strin
我正在尝试使用JAXB解组一个xml文件。当我使用具有正确名称和命名空间的@XmlElement时,解组工作(例如@XmlElement(name=“name”,namespace=”http://www.test.com")) xml文件(test.xml)的内容: JAXBExample.java的内容是: 内容 包装stackoverflow.problem.jaxb.ns; 如果我取消注释
我在名称空间方面有问题。我需要从一个公共api (Prestashop)解组。该api使用xml作为xlink类型,如下所示: 每种产品的 API 为: 我为每个XML生成了两个包含pojo类的包。我想从产品列表中获取给定id的任何产品的属性。 我有一个产品,其中包含@XMLSchema命名空间,但这个命名空间仅针对一个路径是静态的。我知道这不是这样做的方法。 下面,我的客户类。 这里有代码:ht
在JAXB将xml文件解组以请求对象并将其发送给servis时,我遇到了一些问题。 它返回错误而不是正确的响应-。 我正在使用下一个模式: 带有测试日期的xml文件= 以下是源xml文件: 我使用JAXB解析并转换到我的RQ对象。 它返回奇怪的错误而不是响应。 我只是将未解析的请求写入xml文件: 它有很多讨厌的ns1:nameprefix。 我想知道如何在没有冗余前缀的情况下解组?