草庐IT

java - 注解@XmlElement 只写?

我是javaXML绑定(bind)的新手。这是我的类(class)importjavax.xml.bind.annotation.XmlElement;importjavax.xml.bind.annotation.XmlRootElement;/***@authorMartinBurchard**/@XmlRootElement(name="user")publicclassUser{privateStringid;privateStringnickname;privateStringemail;privateStringpassword;@XmlElement(name="id")

java - 在 Java 中读取 XML 文件

我有一个很大的XML文件和几个POJO类来读取这个XML。当我尝试用一​​个POJO读取测试文件时,我使用这个:JAXBContextjaxbContext=JAXBContext.newInstance(Test.class);UnmarshallerjaxbUnmarshaller=jaxbContext.createUnmarshaller();Testts=(Test)jaxbUnmarshaller.unmarshal(file);System.out.println(ts.getName());但是当我有30个POJO时我该怎么办?创建这4行30次?给我建议。更新我如何从这

java - JAXB XML 解码只看到根元素

我在将相当简单的XML文档解码为纯Java对象时遇到问题。这是我的XML的样子:RoleCodeCodesvoorrollenTheplayeroftheroleisamaleoffspringofthescopingentity(parent).Theplayeroftheroleisafemalechild(ofanytype)ofscopingentity(parent)它是一个更大文件的一部分,是用于表示人与人之间关系的Hl7v3代码系统的规范。我为CodeSystem和Code元素创建了两个Java类:@XmlRootElement@XmlAccessorType(XmlAc

java - 类型安全 : Unchecked cast from Object to JAXBElement<User>

我有一个Actor的概率JAXBElementjaxbElement=(JAXBElement)unmarshaller.unmarshal(sr);这是行不通的,大家可以帮帮我吗?我不能这样做:我给你看我的代码:StringReadersr=newStringReader(this.message);JAXBElementjaxbElement=(JAXBElement)unmarshaller.unmarshal(sr);如果我这样做,我会出错,因为我使用了StringReader:JAXBElementjaxbElement=unmarshaller.unmarshal(sr,U

java - 命名空间 : javax. xml.bind.UnmarshalException:意外元素

出于某种原因,我必须手动解析如下所示的KML文件:...13.38705,52.52715,0MynameHalloWorld为了将它映射到java我写了下面的类@XmlRootElement(name="kml",namespace="http://www.opengis.net/kml/2.2")publicclassKml{//Documentdocument;@XmlElement(name="Document")publicDocumentgetDocument(){returndocument;}publicvoidsetDocument(Documentdocument)

java - 可以使用 JAXB(或 JAXB + StAX)编码 XML 的一部分吗?

我有一个非常庞大的XML结构。我想通过解码一个元素然后应用业务逻辑来更新此XML的各个部分。我能够将子元素解码为POJO。我想在Java中更改此POJO,然后在同一位置将其更新回XML。这在JAXB中可行吗?或者通过使用JAXB+StAX的组合。示例结构:folderDescUser2falsefiledescUser1false在上面的示例中,我能够将"file"元素解码为POJO。我想更改此POJO,然后在XML文件中的正确位置更新它。我怎样才能做到这一点?请帮帮我。谢谢。 最佳答案 您可以使用JAXB和StAX执行以下操作:i

java - xs :String in xs:DateTime format to XMLGregorianCalendar

我使用JAXB取消/编码从服务器获取的XML消息。通常我在字段中获取XMLGregorianCalendar值,这些值在描述XSD文件中定义为xs:dateTime,因此到XMLGregorianCalendar的转换由JAXB自动完成。来自XSD文件的示例然而,一个字段被定义为xs:string是这样的:但我收到一个应该代表日期时间的值:2014-08-31T15:00:00Z有什么好的方法,如何将这个字符串转换为XMLGregorianCallendar,还是我应该使用SimpleDateFormat并手动输入模式?我觉得这可能是一个危险的部分。 最佳答

java - JAXB 解码无法正常工作

我正在尝试使用JAXB将XML转换为对象,我的XML如下所示:0falseROLE_USERrepo:/public/adhoc/topics/JSDiagnosticTopic0falseROLE_ADMINISTRATORrepo:/public/adhoc/topics/JSDiagnosticTopic所以我创建了3个java类:EntityResource.java、Item.java和PermissionRecipient.java,如下所示:EntityResource.javaimportjava.util.List;importjavax.xml.bind.annot

java - 如何将集合包装在单个父标签中

我有一个名为XmlSource的类,它包含XmlSourceAudioLang类型的对象集合,并且XmlSourceAudioLang类有一个名为language的字段,我需要将其编码为XML,即:@XmlAccessorType(XmlAccessType.FIELD)publicclassXmlSource{@XmlElement(name="original_audio_language",nillable=true)protectedSetoriginalAudio;}和@XmlAccessorType(XmlAccessType.FIELD)publicclassXmlSou

java - 使用 JAXB 解码 XML 时出现 ClassCastException

我已经使用xjc生成了java类来自根元素为A的xsd类型AType.jaxb生成的根元素是AType&没有类(class)A已生成。当我尝试解码对应于该xsd的xml并转换JaxbElement时,它抛出一个转换异常:片段:JAXBContextjaxbContext=JAXBContext.newInstance(Class.forName("AType"));Unmarshallerunmarshaller=jaxbContext.createUnmarshaller();ATypeaType=(AType)unmarshaller.unmarshal(newByteArrayI