根据我的要求,我有一个从JSON转换为XML的冗长文件。我想基于名为" object"的元素将其拆分为多个文件。并使用" object / name",一个子元素作为文件名。我可以使用的文件中没有属性。我发现的所有示例都使用某种ID属性。在下面的示例中,我希望输出文件包含所有"对象"数据,包括元素标签。输出文件应为" NewMethod.xml"
感谢您提供任何帮助。
单个对象节点的截断示例(原始非常冗长)是:
<objects>
<object>
<operations>
<operation>create</operation>
</operations>
<enums>
</enums>
<name>NewMethod</name>
<parent />
<fields>
<field>
<create_required>true</create_required>
<name>name</name>
<datatype />
<is_immutable>false</is_immutable>
<enum_type />
<is_list>false</is_list>
<rest_revision>0</rest_revision>
<range />
<is_read_only>false</is_read_only>
<null_value />
<dict_key />
<object_types />
<type>string</type>
<compound_type />
</field>
<fields>
<ref_pattern>/abc/abc-{method_id}</ref_pattern>
<ids>
<id>method_id</id>
</ids>
<ref_create_pattern>/abc/abc-new</ref_create_pattern>
<compounds>
</compounds>
<rest_revision>0</rest_revision>
<alias_of />
<children>
<child>childa</child>
<child>childb</child>
</children>
<delete_rest_revision>0</delete_rest_revision>
<ref_collection_pattern>/abc</ref_collection_pattern>
</object>
答案 0 :(得分:1)
处理所有object
元素并创建结果文档,例如
<xsl:template match="/">
<xsl:apply-templates select="//object"/>
</xsl:template>
<xsl:template match="object">
<xsl:result-document href="{name}.xml">
<xsl:copy-of select="."/>
</xsl:result-document>
</xsl:template>