【发布时间】:2011-09-12 11:54:57
【问题描述】:
我正在使用 xslt 将 xml 转换为 json。 我遇到的问题是:如果特定的 xml 元素没有兄弟元素,则它不会作为数组返回。
<xsl:if test="count(preceding-sibling::*[name() = name(current())]) = 0">
<xsl:text>"</xsl:text><xsl:value-of select="name()" /><xsl:text>":</xsl:text>
<xsl:if test="count(following-sibling::*[name() = name(current())]) > 0">
<xsl:text>[</xsl:text>
</xsl:if>
</xsl:if>
我想要的是,如果父级的兄弟姐妹具有与数组相同的元素,那么这个元素也必须是一个数组。
所以我想要的是:
<element>
<child_element>
<grandchild_element>
only one
</grandchild_element>
</child_element>
<child_element>
<grandchild_element>
one
</grandchild_element>
<grandchild_element>
two
</grandchild_element>
</child_element>
我想要以下输出
{
"element": {
"child-element": [
{
"grandchild_element": "only one"
}
],
"child-element": [
{
"grandchild_element": "one" ,
"grandchild_element": "two"
}
]
}
}
谢谢
【问题讨论】:
-
提供输入 XML 和所需的输出。