Java 坚持JDOM解析?
我有一个复杂的JDOM元素,如下面的a,我需要更改结构,如B,以便使用现有类处理JAXB, 我唯一能做的就是改变xml的结构,我能用JDOMAPI做到这一点吗 由于我是java的初学者,这对我来说非常困难,如果有人提出解决方案,这对我非常有帮助 现有要素A 所需元素BJava 坚持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结构。对于这一点,以下链接
看看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转换为新结构