Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在不知道类的情况下将XML转换为对象再转换为XML_Java_Jaxb - Fatal编程技术网

Java 在不知道类的情况下将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

我正在解析可能是任何内容的未知XML字符串

我尝试了以下代码

            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?(如果您只想打印它-无需解析)