- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试解码我的 DOM 解析文档,以便我可以更新我的 XML。但我收到以下命名空间错误:
javax.xml.bind.UnmarshalException: unexpected element (uri:"", local:"Showing_Today"). Expected elements are <{http://xml.netbeans.org/schema/Shows}Showing_Today>
这是我的:package-info.java
@javax.xml.bind.annotation.XmlSchema
(namespace = "http://xml.netbeans.org/schema/Shows", elementFormDefault = javax.xml.bind.annotation.XmlNsForm.QUALIFIED)
package Media;
这是我正在尝试解码的XML 文件:
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<Showing_Today xmlns="http://xml.netbeans.org/schema/Shows">
<movie_collection>
<Title>Red</Title>
<Director>Robert Schwentke</Director>
<Year>2010</Year>
</movie_collection>
ShowingToday.java
@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = {
"movieCollection"
})
@XmlRootElement(name = "Showing_Today")
public class ShowingToday {
@XmlElement(name = "movie_collection")
protected List<MovieType> movieCollection;
这是我的解码器代码:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document domDoc = docBuilder.parse("Now_Showing.xml");
dbf.setNamespaceAware(true);
JAXBContext jaxbCtx = javax.xml.bind.JAXBContext.newInstance(ShowingToday.class);
Binder <Node> binder = jaxbCtx.createBinder();
Unmarshaller unmarshaller = jaxbCtx.createUnmarshaller();
ShowingToday shows2 = (ShowingToday) binder.unmarshal(domDoc);
我看过很多类似的问题,但没有一个解决方案有帮助。关于如何修复它有什么建议吗?谢谢
最佳答案
在创建 DocumentBuilder 之前,您需要调用 setNamespaceAware()
。在创建解析器并构建 DOM 之后设置此项将不会产生任何效果。这很可能就是 JAXB 无法解码根元素的原因,因为它会丢失其 namespace 。
试试这个:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
DocumentBuilder docBuilder = dbf.newDocumentBuilder();
Document domDoc = docBuilder.parse("Now_Showing.xml");
关于java - UnmarshalException 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35061887/
我遵循了本教程:https://docs.oracle.com/javase/6/docs/technotes/guides/rmi/hello/hello-world.html#5 我在命令提示符下
我正在尝试解码我的 DOM 解析文档,以便我可以更新我的 XML。但我收到以下命名空间错误: javax.xml.bind.UnmarshalException: unexpected element
当我尝试将 XML 解码回 java 代码时,出现以下异常。好像我在某处缺少命名空间声明,但我不确定在哪里。 javax.xml.bind.UnmarshalException: unexpected
我尝试复制 http://www.ejbtutorial.com/java-rmi/a-step-by-step-implementation-tutorial-for-java-rmi 中的教程在
我们正在将应用程序从 Jboss 6 迁移到 Wildfly 10,大多数 Web 服务都运行正常,但我们面临来自外部 Web 服务的响应中日期标签为空的问题: java.security.Privi
所以我试图解析一个 xml 并将其解码为一个程序。这是示例 xml: FINACLE 2014-06-21T19
异常javax.xml.bind.UnmarshalException:意外元素(uri:“http://services.forddirect.fordvehicles.com/searchTest
这是我第一次使用 RMI,这是我写的主要内容: public class Main { public static void main(String[] args) {
当我想反序列化已从字节数组序列化的 JAXBElement 时遇到问题。我有异常(exception): Exception in thread "main" javax.xml.bind.Unmar
情景 我正在使用 JAXB 2.0,并且我有一个从需要解码的 Web 服务接收 xml 文件的进程。名称由网络服务提供,格式为: ESA08021701#99152015AA00024175#2015
我收到以下错误: javax.xml.bind.UnmarshalException: unexpected element(uri:"http://www.docsite.com/ClientCon
我们的生产环境面临问题。我们在网上到处搜索,但没有找到任何答案。当从受管服务器 1 到管理服务器 2 进行 ejb 查找时,会发生此错误(下面的堆栈跟踪)。查找时使用虚拟 IP。它间歇性地、随机地发生
我有一个 java rmi 服务器和一个 java rmi 客户端在两台独立且不同的机器。 服务器基本上是一个斐波那契计算器。它接收一堆数字并根据它们计算斐波那契数列。 客户端只需发送一堆数字供服务器
我会尽力使这篇文章尽可能小,以便根据要求添加更多信息和代码。 场景:我正在编写一个服务器/客户端应用程序来跟踪公司的一些流程,因此用户将创建小标签,这些标签将根据工作流程从一个用户的屏幕转到另一个用户
我遵循了几个关于运行 RMI 应用程序的教程。但是,我似乎无法让它工作,因为我一直卡在同一个异常上。 我目前只运行一个服务器,因此不涉及客户端通信。 我有一个简单的 RMI 程序,包括: 服务器类 S
本文整理了Java中org.eclipse.persistence.exceptions.XMLMarshalException.unmarshalException()方法的一些代码示例,展示了XM
尝试使用 jaxb 将 xml 响应转换为 java 对象时出现以下错误 javax.xml.bind.UnmarshalException: unexpected element (u
调用 Web 服务时,出现以下异常: [javax.xml.bind.UnmarshalException:意外元素(uri:“urn:partner.soap.sforce.com”,本地:“met
Closed. This question is not reproducible or was caused by typos。它当前不接受答案。 想改善这个问题吗?更新问题,以便将其作为on-to
我使用以下代码通过 JAXB 解码 XML。 responseXML 包含从 Web 服务调用返回的 XML 字符串。 StringReader reader = new StringRead
我是一名优秀的程序员,十分优秀!