我是XSLT领域的菜鸟,试图进行XML到XML转换,我有以下XML
<test>
true
</test>
<test1>
false
</test1>
所需的转换XML输出:
<object>
<boolean name="test">
true
</boolean>
<boolean name="test1">
false
</boolean>
</object>
我是XSL转换的新手,我想使用XSLT doc转换这个XML。我正在java中进行xsl转换。我想出了如何在java中转换XML但是在XSLT文档中发现了。
非常感谢有关如何进行转换的任何帮助或指示。到目前为止,我已经理解了这一点,这就是我所拥有的
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
//select everything from root of the document
<xsl:template match="/">
//对于每个元素,值为true或false我想添加一个名为object的父节点
<xsl:for-each select=".">
<object>
</object>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
答案 0 :(得分:0)
对于value = true或false的每个元素我想添加父元素 节点称为对象
首先,你必须有一个结构良好的输入,只有一个根元素,比如:
<强> XML 强>
<root>
<test>
true
</test>
<test1>
false
</test1>
</root>
然后你可以做类似的事情:
XSLT 1.0
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/root">
<object>
<xsl:for-each select="*[normalize-space(.)='true' or normalize-space(.)='false']">
<boolean name="{name()}">
<xsl:value-of select="."/>
</boolean>
</xsl:for-each>
</object>
</xsl:template>
</xsl:stylesheet>
得到:
<强>结果强>
<object>
<boolean name="test">
true
</boolean>
<boolean name="test1">
false
</boolean>
</object>