Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.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 坚持JDOM解析?_Java_Xml_Jaxb_Xml Parsing_Jdom - Fatal编程技术网

Java 坚持JDOM解析?

Java 坚持JDOM解析?,java,xml,jaxb,xml-parsing,jdom,Java,Xml,Jaxb,Xml Parsing,Jdom,我有一个复杂的JDOM元素,如下面的a,我需要更改结构,如B,以便使用现有类处理JAXB, 我唯一能做的就是改变xml的结构,我能用JDOMAPI做到这一点吗 由于我是java的初学者,这对我来说非常困难,如果有人提出解决方案,这对我非常有帮助 现有要素A 所需元素B 看看xml,这是两个完全不同的xml。您需要构建一个类似于动态B的xml结构。对于这一点,下面的链接将帮助您 希望这能对您有所帮助。看看xml,这是两个完全不同的xml。您需要构建一个类似于动态B的xml结构。对于这一点,以下链接

我有一个复杂的JDOM元素,如下面的a,我需要更改结构,如B,以便使用现有类处理JAXB, 我唯一能做的就是改变xml的结构,我能用JDOMAPI做到这一点吗

由于我是java的初学者,这对我来说非常困难,如果有人提出解决方案,这对我非常有帮助

现有要素A 所需元素B
看看xml,这是两个完全不同的xml。您需要构建一个类似于动态B的xml结构。对于这一点,下面的链接将帮助您


希望这能对您有所帮助。

看看xml,这是两个完全不同的xml。您需要构建一个类似于动态B的xml结构。对于这一点,以下链接将对您有所帮助


希望这对您有所帮助。

我可以建议您改用XSLT吗。容易多了。从这样开始

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="DETAILS/ROWSET[@name='OPTIONS']">
    <DETAILS>
        <OPTIONS>
            <xsl:apply-templates />
        </OPTIONS>
    </DETAILS>
</xsl:template>

<xsl:template match="ROW">
        <xsl:apply-templates />
</xsl:template>

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>

我可以建议改用XSLT吗。容易多了。从这样开始

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="DETAILS/ROWSET[@name='OPTIONS']">
    <DETAILS>
        <OPTIONS>
            <xsl:apply-templates />
        </OPTIONS>
    </DETAILS>
</xsl:template>

<xsl:template match="ROW">
        <xsl:apply-templates />
</xsl:template>

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
</xsl:template>

</xsl:stylesheet>

你已经多次问了本质上相同的问题

如果您还不能正确回答前面的问题,那么在开始进行多元素移动之前,您需要后退一步,使用更基本的示例

虽然我同意四十二条的观点,即从长远来看XSL将是一个更好的解决方案,但我认为您还没有达到让事情变得更容易的地步。如果数据中有可用的JDOM元素,那么应该找出Java调试器,并在添加和删除元素时检查这些元素。为了更好地理解Java、XML和JDOM的工作原理,您需要“玩”一下。现在你问了一大堆相关的问题,这些问题显示了对“基础”概念的基本误解。在处理这些更复杂的概念之前,您需要正确地获得这些基础

从简单的事情开始怎么样:

XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
Document doc = new Document();
Element root = new Element("DETAILS");
doc.addContent(root);

xout.output(System.out, doc);

Element row = new Element("ROW");
root.addContent(row);

xout.output(System.out, doc);

row.detach();
xout.output(System.out, doc);
您可以使用上面的内容来查看内容是如何添加的,以及如何从JDOM内容中分离出来的


然后,当你弄明白了这一点后,你可以将它放入循环、扫描等中,这样你就可以从文档层次结构中的其他位置分离并重新添加内容。

你已经多次问了本质上相同的问题

如果您还不能正确回答前面的问题,那么在开始进行多元素移动之前,您需要后退一步,使用更基本的示例

虽然我同意四十二条的观点,即从长远来看XSL将是一个更好的解决方案,但我认为您还没有达到让事情变得更容易的地步。如果数据中有可用的JDOM元素,那么应该找出Java调试器,并在添加和删除元素时检查这些元素。为了更好地理解Java、XML和JDOM的工作原理,您需要“玩”一下。现在你问了一大堆相关的问题,这些问题显示了对“基础”概念的基本误解。在处理这些更复杂的概念之前,您需要正确地获得这些基础

从简单的事情开始怎么样:

XMLOutputter xout = new XMLOutputter(Format.getPrettyFormat());
Document doc = new Document();
Element root = new Element("DETAILS");
doc.addContent(root);

xout.output(System.out, doc);

Element row = new Element("ROW");
root.addContent(row);

xout.output(System.out, doc);

row.detach();
xout.output(System.out, doc);
您可以使用上面的内容来查看内容是如何添加的,以及如何从JDOM内容中分离出来的


然后,当你明白了这一点后,你可以将它放入循环、扫描等中,这样你就可以从文档层次结构中的其他位置分离并重新添加内容。

我可以使用JDOM API更改结构吗?在这种情况下,你将创建一个新的xml结构。因此,我可以使用JDOM API获取任何代码样本以转换为新结构吗?我可以使用JDOM API更改结构吗?在这种情况下,您将创建一个新的xml结构。因此,我可以获取任何代码样本以使用JDOM API转换为新结构