gpt4 book ai didi

java - 在java中应用XSLT获取XML输出中的输入XML标签名称

转载 作者:行者123 更新时间:2023-12-01 15:04:09 25 4
gpt4 key购买 nike

我是 xslt 新手。

我想要的是通过应用 xslt 从输入 xml 中获取标签名称并将输出保存在 output.xml

我的 input.xml 是 -

<?xml version="1.0" encoding="UTF-8"?>
<productDetails>
<name>Mobile</name>
<price>999</price>
<stock>57</stock>
</productDetails>

我的 input.xsl 是 -

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>

<xsl:template match="/productDetails">
<xsl:attribute name="name()"/>
</xsl:template>
</xsl:stylesheet>

我的java代码是-

   Source xmlInput = new StreamSource("input.xml");
Source xsl = new StreamSource(new File("input.xsl"));
Result xmlOutput = new StreamResult(new File("output.xml"));


Transformer transformer = TransformerFactory.newInstance().newTransformer(xsl);
transformer.transform(xmlInput, xmlOutput);

输出我想要的是-

<?xml version="1.0" encoding="UTF-8"?>
name
price
stock

请大家帮忙

提前谢谢您。

最佳答案

编写模板

<xsl:template match="*">
<xsl:value-of select="name()"/>
</xsl:template>

如果你想输出输入中所有元素的名称。如果您只需要叶元素的名称,则使用

<xsl:template match="*[not(*)]">
<xsl:value-of select="name()"/>
</xsl:template>

您可能需要或想要添加空格以更好地格式化结果。并不是说您想要一个 XML 结果,但您在主级别使用纯文本节点显示的结果示例并不是格式良好的 XML 文档。然而,XSLT 允许输出此类片段,因此如果您想要这种格式,我的建议应该是这样。

关于java - 在java中应用XSLT获取XML输出中的输入XML标签名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13209263/

25 4 0