Questions tagged «jaxb»

用于XML绑定的Java体系结构是用于将XML作为域对象使用的Java标准。它提供了一种将Java类映射到XML表示的简单机制。


15
没有JAXB生成的@XmlRootElement
我正在尝试从FpML(金融产品标记语言)4.5版生成Java类。生成了大量代码,但是我不能使用它。尝试序列化一个简单的文档,我得到以下信息: javax.xml.bind.MarshalException - with linked exception: [com.sun.istack.SAXException2: unable to marshal type "org.fpml._2008.fpml_4_5.PositionReport" as an element because it is missing an @XmlRootElement annotation] 实际上,没有任何类具有@XmlRootElement批注,那么我该怎么做呢?我将xjc(JAXB 2.1)指向fpml-main-4-5.xsd,其中包括所有类型。
209 java  jaxb  xjc  fpml 

4
使用JAXB从XML字符串创建对象
如何使用下面的代码解组XML字符串并将其映射到下面的JAXB对象? JAXBContext jaxbContext = JAXBContext.newInstance(Person.class); Unmarshaller unmarshaller = jaxbContext.createUnmarshaller(); Person person = (Person) unmarshaller.unmarshal("xml string here"); @XmlRootElement(name = "Person") public class Person { @XmlElement(name = "First-Name") String firstName; @XmlElement(name = "Last-Name") String lastName; public String getFirstName() { return firstName; } public void setFirstName(String firstName) { this.firstName = firstName; } public …
174 java  xml  jaxb 

6
Maven JAXB插件的区别
我确定存在两个用于Maven 2的JAXB插件,它们具有一些不同的配置。 一个来自Sun:http ://jaxb.dev.java.net/jaxb-maven2-plugin/,另一个来自Mojohaus:http ://mojohaus.org/jaxb2-maven-plugin/ 可以推荐这两个插件中的哪个? 谢谢马特。在我的小型研究项目中,我发现有许多来自sunner的插件: <groupId>com.sun.tools.xjc.maven2</groupId> <artifactId>maven-jaxb-plugin</artifactId> 那个: <groupId>org.jvnet.jaxb2.maven2</groupId> <artifactId>maven-jaxb2-plugin</artifactId> 还是Codehouse的那个

7
JAXB创建上下文和封送处理程序的成本
这个问题有点理论化,创建JAXB上下文,封送和拆封的成本是多少? 我发现我的代码可以受益于为所有封送处理操作保留相同的JAXB上下文和可能相同的封送处理程序,而不是在每个封送处理中创建上下文和封送处理程序。 那么创建JAXB上下文和编组器/解组器的成本是多少?是否可以为每个封送处理操作创建context + marshaller,还是最好避免这种情况?
120 java  jaxb  marshalling 


20
Jaxb,Class具有两个相同名称的属性
使用jaxb,我尝试读取xml文件,而xml文件中只有几个元素很有趣,所以我想跳过许多元素 xml内容 我尝试读取的XML <?xml version="1.0" encoding="UTF-8"?> <!--Sample XML file generated by XMLSpy v2010 rel. 3 sp1 (http://www.altova.com)--> <flx:ModeleREP xsi:schemaLocation="urn:test:mod_rep.xsd mod_rep.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:flx="urn:test:mod_rep.xsd"> <flx:DocumentHeader> <flx:Identification v="04489"/> </flx:DocumentHeader> <flx:TimeSeries> <flx:Identification v="test1a"/> <flx:BusinessType v="A01"/> <flx:Product v="123a"/> <flx:ResourceObject codingScheme="N" v="testa"/> <flx:Period> <flx:TimeInterval v="2011-07-02T00:00/2011-07-16T00:00"/> <flx:Resolution v="PT2H"/> <flx:Pt> <flx:P v="1"/> <flx:Q unitCode="String" v="1.0"/> <flx:A currencyIdentifier="String" v="195.0"/> …
120 java  xml  jaxb 

10
如何从XSD生成JAXB类?
我是XML的新手。我正在执行Java EE项目REST实现,我们返回了很多XML。有了这个,我们决定使用JAXB。到目前为止,我们已经为XML手动编码了模型。 但是已经有了我们不知道如何编码的复杂结构。我们已经阅读了有关从XSD生成类的信息。我们有一个XSD。 我的问题: 1.)我读过有关XJC的资料,在哪里可以找到? 2.)我们必须安装整个JAXB吗?(所以到目前为止,我们使用的是这个JAXB吗?)
116 java  jakarta-ee  jaxb 

7
java.util.Date和XMLGregorianCalendar之间的简单转换
我正在寻找在两个方向上在java.util.Date和javax.xml.datatype.XMLGregorianCalendar之间进行转换的简单方法。 这是我现在正在使用的代码: import java.util.GregorianCalendar; import javax.xml.datatype.DatatypeConfigurationException; import javax.xml.datatype.DatatypeFactory; import javax.xml.datatype.XMLGregorianCalendar; /** * Utility class for converting between XMLGregorianCalendar and java.util.Date */ public class XMLGregorianCalendarConverter { /** * Needed to create XMLGregorianCalendar instances */ private static DatatypeFactory df = null; static { try { df = DatatypeFactory.newInstance(); } catch (DatatypeConfigurationException dce) …

9
什么是JAXB,为什么要使用它?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 3年前关闭。 改善这个问题 这里有人发誓说JAXB是切面包以来最伟大的事情。我很好奇看到Stack Overflow用户认为用例适用于JAXB,以及使该用例成为好方案还是不好的解决方案。
109 java  jaxb 


3
JAXB 2的ObjectFactory类有什么意义?
我是使用JAXB的新手,并且使用JAXB 2.1.3的xjc从我的XML模式生成一组类。除了为我的架构中的每个元素生成一个类之外,它还创建了一个ObjectFactory类。 似乎没有什么阻止我直接实例化元素的,例如 MyElement element = new MyElement(); 而教程似乎更喜欢 MyElement element = new ObjectFactory().createMyElement(); 如果查看ObjectFactory.java,我会看到: public MyElement createMyElement() { return new MyElement(); } 那怎么办?为什么我还要麻烦保持ObjectFactory类?我假设如果我从更改后的模式重新编译,它也会被覆盖。
98 java  jaxb 

12
将Java对象转换为XML字符串
是的,是的,我知道有关此主题的问题很多。但是我仍然找不到解决我问题的方法。我有一个带属性的Java对象。例如客户,如本例所示。我想要它的字符串表示形式。为此,Google建议使用JAXB。但是在所有示例中,创建的XML文件都会打印到文件或控制台,如下所示: File file = new File("C:\\file.xml"); JAXBContext jaxbContext = JAXBContext.newInstance(Customer.class); Marshaller jaxbMarshaller = jaxbContext.createMarshaller(); // output pretty printed jaxbMarshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); jaxbMarshaller.marshal(customer, file); jaxbMarshaller.marshal(customer, System.out); 但是我必须使用该对象并以XML格式通过网络发送。所以我想得到一个表示XML的字符串。 String xmlString = ... sendOverNetwork(xmlString); 我怎样才能做到这一点?
91 java  xml  jaxb 

9
java.lang.VerifyError:在分支目标JDK 1.7处期待一个堆栈映射框架
升级到JDK 1.7后,出现以下异常: java.lang.VerifyError: Expecting a stackmap frame at branch target 71 in method com.abc.domain.myPackage.MyClass$JaxbAccessorM_getDescription_setDescription_java_lang_String.get(Ljava/lang/Object;)Ljava/lang/Object; at offset 20 at java.lang.Class.getDeclaredConstructors0(Native Method) at java.lang.Class.privateGetDeclaredConstructors(Class.java:2413) at java.lang.Class.getConstructor0(Class.java:2723) at java.lang.Class.newInstance0(Class.java:345) at java.lang.Class.newInstance(Class.java:327) at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:184) at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:129) at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$GetterSetterReflection.optimize(Accessor.java:384) at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:72) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:525) at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113) at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166) at …
88 java  jaxb  java-7 

5
如何指定JAXB封送xsd:dateTime时使用的日期格式?
当JAXB将日期对象(XMLGregorianCalendar)编组到xsd:dateTime元素中时。您如何指定生成的XML的格式? 例如:默认数据格式使用毫秒,<StartDate>2012-08-21T13:21:58.000Z</StartDate> 我需要忽略毫秒。 <StartDate>2012-08-21T13:21:58Z</StartDate> 如何指定我要使用的输出格式/日期格式?我正在使用javax.xml.datatype.DatatypeFactory创建XMLGregorianCalendar对象。 XMLGregorianCalendar xmlCal = datatypeFactory.newXMLGregorianCalendar(cal);

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.