jjzjj

JAXBContext

全部标签

java - 我们可以在解码期间在运行时决定 jaxb 类吗?

有什么方法可以在运行时决定我想将XML解码到哪个java类中?我试过用这种方式解码代码-publicObjectunmarshallXml(StringxmlReq,StringclassName){StringmyClass=className+".class";Objectinstances=null;try{JAXBContextjc=JAXBContext.newInstance(myClass);Unmarshalleru=jc.createUnmarshaller();StringBufferxmlStr=newStringBuffer(xmlReq);StringRead

xml - jaxbcontext 生成不完整的模式?

我在使用JAXB时遇到了一个奇怪的问题。我已经使用xjc从我的XSD生成我的java类,一切看起来都不错。如果我使用schemagen,它会生成一个与我的原始xsd相匹配的正确模式。但是,如果我使用JAXBContext.generateSchema(),那么生成的模式是不完整的。我使用OracleJava1.6.0_29和jaxb-2.2.4-1.jar作为实现。我附上了Java代码(生成模式)和下面的xsd以及jaxb调用的输出。CalculateBorrowingDataResponse.xsd:Java代码://CreatingtheXMLtreeJAXBContextjc=J

java - 如何保护 Jersey 服务器上的 xml 请求?

我目前有一个使用jersey-server1.1框架创建的简单xml端点(示例)。它使用以下符号使用和生成XML:@POST@Path("/post")@Consumes(MediaType.APPLICATION_XML)@Produces(MediaType.APPLICATION_XML)publicResponsegetEmployee(Employeeemployee){returnResponse.status(Status.OK).entity(employee).build();}但是端点容易受到XXE攻击。(例子)也可以让我的服务器使用这种表示法来请求任何端点....

xml - 如何在 weblogic 12.1.3 中指定 JAXBContext 实现

我使用JAXB在java中创建了一个MDB来解析xml内容。这个MDB在10.3.4weblogic服务器上运行了很长时间(大约3年)。现在我必须将它迁移到weblogic12.1.3服务器上,由于我还不知道的原因,weblogic选择的实现与我想要的不一样。但我不知道如何设置它。现在我的代码初始化代码是这样的:privateJAXBContextgetJAXBContext()throwsJAXBException{if(v1JaxbContext==null){v1JaxbContext=JAXBContext.newInstance(MyClass.class);}System.

用于解码 JAXB 对象的 Java 泛型

我有以下代码将xml解码为Java对象。我想看看是否可以通过使用Java泛型而不是使用对象类型作为返回值来增强此代码。protectedstaticObjectunmarshall(Stringxml,Classclazz)throwsJAXBException{JAXBContextjc=JAXBContext.newInstance(clazz);Unmarshallerunmarshaller=jc.createUnmarshaller();Objectobj=unmarshaller.unmarshal(newStringReader(xml));returnobj;}任何建议

java - JAXB 抛出 InstantiationException 试图编码 xsi :type based on abstract class

我在使用继承和JAXB解码时遇到问题。我已经阅读了很多示例(特别是在http://blog.bdoughan.com/2010/11/jaxb-and-inheritance-using-xsitype.html上的大量引用博客和此处非常相似的SO问题:JAXBxsi:typesubclassunmarshallingnotworking),但仍然遇到困难。像许多其他问题一样,我正在尝试创建一个对象的XML表示,该对象的字段依赖于子类来获取信息。我在编译时不知Prop体的子类实现是什么,所以XmlSeeAlso之类的东西并不真正可用。在我的测试用例中,我有一个Root类,它有一个抽象类

java - 通过套接字和流的 JAXB - 阅读器 block

我正在尝试通过网络流发送javabean实例。我想使用JAXB和普通的OutputStream编码/解码java实例,以将其推送到网络上。服务器在解码点等待,但客户端已经很远了。服务器:inputStream=newBufferedInputStream(this.socket.getInputStream());outputStream=newBufferedOutputStream(this.socket.getOutputStream());JAXBContextrequestContext=JAXBContext.newInstance(this.requestClass);U

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 注释

嘿,我有2节课。当我试图从它们创建XML结构时,我只得到根元素(A)。为什么?我使用了错误的注释吗?@XmlRootElement(name="a")@XmlAccessorType(XmlAccessType.FIELD)publicabstractclassA{@XmlElementinta;protectedA(){}}@XmlAccessorType(XmlAccessType.FIELD)publicclassBextendsA{@XmlElementintb;protectedB(){}} 最佳答案 您可能需要在顶级类中

java - @XmlSeeAlso 替代方案

我有以下内容:classA{@XmlElementStringname;//gettersandsetters}和classBextendsA{@XmlElementStringheight;//gettersandsetters}终于有了@XmlRootElementclassP{@XmlElementListthings;//gettersandsetters}如果我这样做Listl=newArrayList();l.add(newB('hello',20))//AddnewBwithheightof20andnamehelloPp=newP();p.setThings(l);//