如何用XPathJava构建XML文档
我有以下xpath:如何用XPathJava构建XML文档,java,xml,xpath,xml-parsing,jaxb,Java,Xml,Xpath,Xml Parsing,Jaxb,我有以下xpath: /Parent/Children/child 我的目标是完全基于上述xpath构建以下XML文档: <Parent> <Children> <child></child> </Children> </Parent> 如何使用Java实现我的目标 这可以通过使用xslt转换来实现 您可以尝试以下方法: <?xml version="1.0" encoding="UTF-8"?&g
/Parent/Children/child
我的目标是完全基于上述xpath构建以下XML文档:
<Parent>
<Children>
<child></child>
</Children>
</Parent>
如何使用Java实现我的目标 这可以通过使用xslt转换来实现 您可以尝试以下方法:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="2.0">
<xsl:variable name="path" select="'/Parent/Children/child'"></xsl:variable>
<xsl:template match="/">
<xsl:call-template name="createstructure">
<xsl:with-param name="xpath" select="$path"></xsl:with-param>
</xsl:call-template>
</xsl:template>
<xsl:template name="createstructure">
<xsl:param name="xpath" select="."/>
<xsl:variable name="elementname">
<xsl:choose>
<xsl:when test="contains($xpath, '/')">
<xsl:value-of select="substring-before(replace($xpath, '^/', ''), '/')"/>
</xsl:when>
<xsl:otherwise><xsl:value-of select="normalize-space($xpath)"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:element name="{$elementname}">
<xsl:choose>
<xsl:when test="contains($xpath, '/')">
<xsl:call-template name="createstructure">
<xsl:with-param name="xpath" select="substring-after(replace($xpath, '^/', ''), '/')"/>
</xsl:call-template>
</xsl:when>
</xsl:choose>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
您是如何设想从XPath创建XML的?所有的价值从何而来?如何使用Java实现我的目标?解析xpath字符串,然后构建XML层次结构,例如使用DOM,并使用缩进将其输出到文本中。你问的是哪一部分?这至少是3个不同的问题。我想你提到的所有3个子问题。我想看看有人会如何实现我上面提出的问题。我通常使用jaxb或一些框架,但我希望看到这类任务的正确实现。这是一个为我写代码的请求?对不起,StackOverflow不是这样工作的。请阅读:。不,我有一个使用jaxb的实现,但对于这样一个问题,需要编写大量代码。我想看看有人是如何在不使用jaxb或其他框架的情况下实现这一点的。