Java 在不知道类的情况下将XML转换为对象再转换为XML
我正在解析可能是任何内容的未知XML字符串 我尝试了以下代码Java 在不知道类的情况下将XML转换为对象再转换为XML,java,jaxb,Java,Jaxb,我正在解析可能是任何内容的未知XML字符串 我尝试了以下代码 String XMLString = "<?xml version='1.0' encoding='UTF-8'?><dataset><height>true</height></dataset>"; Object xmlObj = JAXB.unmarshal(new StringReader(XMLString), Ob
String XMLString = "<?xml version='1.0' encoding='UTF-8'?><dataset><height>true</height></dataset>";
Object xmlObj = JAXB.unmarshal(new StringReader(XMLString), Object.class);
StringWriter sw = new StringWriter();
JAXB.marshal(xmlObj, sw);
String xmlString = sw.toString();
System.out.println(xmlString);
String XMLString=“true”;
objectxmlobj=JAXB.unmarshal(新的StringReader(XMLString),Object.class);
StringWriter sw=新的StringWriter();
JAXB.marshal(xmlObj,sw);
字符串xmlString=sw.toString();
System.out.println(xmlString);
然而,这是打印出来的
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<elementNSImpl>
<textContent>true</textContent>
</elementNSImpl>
真的
如何维护原始节点名?我猜您已经“取消了对DOM元素的编组”
要使用JAXB解组某些内容,需要为特定的类集创建JAXBContext
。您可以直接或使用上下文路径(一个或多个包名)枚举它们,但必须提供这一点。否则JAXB将不知道要解组什么
如果您对解组的内容完全通用,那么JAXB可能是一个错误的选择。您可以改为解析DOM。JAXB是关于将XML映射到Java类实例的。为此,你必须让JAXB知道要考虑哪些课程。你的最终目标是什么?您希望如何处理您阅读的XML?(如果您只想打印它-无需解析)