XSD:anyType到java对象

XSD:anyType到java对象,java,xsd,Java,Xsd,我有一个xsd,如下所示: <xs:complexType name="exampleDataType"> <xs:sequence> <xs:element name="payload" type="xs:anyType" minOccurs="0"/> <xs:element name="message" type="tns:message" minOccurs="0"/> </xs:sequenc

我有一个xsd,如下所示:

<xs:complexType name="exampleDataType">
    <xs:sequence>
      <xs:element name="payload" type="xs:anyType" minOccurs="0"/>
      <xs:element name="message" type="tns:message" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>


但是,当我尝试从java获取有效负载值时,它返回null。有人能帮我解决这个问题吗?

我最近也遇到了这个问题,下面是解决方法:

XSD:

Java代码:

ClassLoader classLoader = new XmlToObject().getClass().getClassLoader();

File file = new File(classLoader.getResource("myXmlFile.xml").getFile());

JAXBContext jaxbContext = JAXBContext.newInstance(MyPojo.class);

Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

MyPojo myPojo = (MyPojo) jaxbUnmarshaller.unmarshal(file);

Object check = myPojo.getCheck();

if (check instanceof Node) {
    ElementNSImpl checkElement = (ElementNSImpl) check;
    System.out.println("check=" + checkElement.getTextContent());
}

我最近也遇到了这个问题,以下是解决方法:

XSD:

Java代码:

ClassLoader classLoader = new XmlToObject().getClass().getClassLoader();

File file = new File(classLoader.getResource("myXmlFile.xml").getFile());

JAXBContext jaxbContext = JAXBContext.newInstance(MyPojo.class);

Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();

MyPojo myPojo = (MyPojo) jaxbUnmarshaller.unmarshal(file);

Object check = myPojo.getCheck();

if (check instanceof Node) {
    ElementNSImpl checkElement = (ElementNSImpl) check;
    System.out.println("check=" + checkElement.getTextContent());
}

可能的副本包括您的Java代码。谢谢您的回复。XSD使用“anyType”。我试着拆封。它仍然返回null。我是新来的。你能给我一个工作的例子吗?我有同样的问题-(在JBoss中,JAX-B正在解组XML和空值,但如果我将其更改为一个“对象”而不是JAX-B试图解组的类,我会看到有一个值。这相当痛苦。如果我找到了解决方法,我会让您知道!可能重复的a将包括您的Java代码。谢谢您的回复。XSD使用“anyType”。我尝试了解组。它仍然返回null。我是新来的。你能给我一个工作示例吗?我也有同样的问题;-(在JBoss中,JAX-B正在解组XML和null值,但如果我将其更改为“Object”“与JAX-B试图解组的类不同,我看到了一个值。这是一个痛苦。如果我找到了解决方法,我会让你知道的!