我有pojo class
,其中变量的返回类型为JAXBElement<String>
。我想将其存储在java string.Could
中。
有人可以解释一下如何做吗?
File file = new File("C:/Users/Admin/Desktop/JubulaXMLFiles/DemoWithDrools_1.0.xml");
JAXBContext jaxbContext = JAXBContext.newInstance(Content.class);
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
Content e=(Content) jaxbUnmarshaller.unmarshal(file);
String retrivedValue = (String)e.getProject().getName().toString();
System.out.println(retrivedValue);
输出类似于javax.xml.bind.JAXBElement@5a99da
。但我想检索retrivedValue
中的字符串值。
答案 0 :(得分:3)
如果getProject()
返回类型JAXBElement<String>
,则getName()
将返回XML标记的名称。要获取该元素的值,您需要调用getValue()
。
在下面找到一个小片段
QName qualifiedName = new QName("", "project");
JAXBElement<String> project = new JAXBElement<>(qualifiedName,
String.class, null, "funnyCoding");
System.out.printf("getName() - %s%n", project.getName());
System.out.printf("getValue() - %s%n", project.getValue());
输出
getName() - project
getValue() - funnyCoding