【发布时间】:2017-11-30 06:16:12
【问题描述】:
我有以下 XML。我有以下 XSLT。这个 XSLT 工作有一个 for-each 逻辑,可以根据需要在 XML 上工作。现在我希望将相同的逻辑应用于 json 文件,所以我明白我必须首先在我的 XSLT 中编写一些 jsonToXML 逻辑,并且还要有这个 for-each。我不知道该怎么做。任何人都可以帮助我..我在下面有所需的Json。这不过是 XML 的转换。
XML 是:
<?xml version="1.0"?>
<Records>
<Record>
<Field name="Second Name" alias="Second_Name">Lilly</Field>
<Field name="Last Name" alias="Last_Name">James</Field>
<Field name="Middle Name" alias="Middle_Name">J</Field>
<Field name="Address" alias="Address">R C Villa</Field>
<Field name="City" alias="City">Pagarh</Field>
<Field name="State" alias="State">Kansas</Field>
<Field name="Zip Code" alias="Zip_Code">8878</Field>
</Record>
</Records>
适用于上述 XML 的 XSLT 如下:
<?xml version='1.0'?>
<xsl:stylesheet version="3.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output media-type="xml" indent="yes"/>
<!--Attributes are not supported at all levels, as well as to allow for each field
to be mappable you would need to change the element names to be unique before being consumed through Data Feed.-->
<xsl:template match="/">
<Records>
<xsl:for-each select="Records/Record">
<Record>
<xsl:for-each select="Field">
<xsl:element name="{@alias}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:for-each>
</Record>
</xsl:for-each>
</Records>
</xsl:template>
</xsl:stylesheet><!-- Stylus Studio meta-information - (c) 2004-2009. Progress Software Corporation. All rights reserved.
-->
如果我有以下 Json,XSLT 3.0 会是什么?
{
"Records": {
"Record": [
{
"Field": [
{
"-name": "Second Name",
"-alias": "Second_Name",
"#text": "James"
},
{
"-name": "Last Name",
"-alias": "Last_Name",
"#text": "Shcol"
},
{
"-name": "Middle Name",
"-alias": "Middle_Name",
"#text": "J"
},
{
"-name": "Address",
"-alias": "Address",
"#text": "BishusPame"
},
{
"-name": "City",
"-alias": "City",
"#text": "Hitlas"
},
{
"-name": "State",
"-alias": "State",
"#text": "Vietnam"
}
]
}
}
}
【问题讨论】:
-
你有没有尝试过?我们通常不会从头开始为您编写代码,因为这不是代码编写服务。您应该先自己尝试一下。请访问help center 并阅读How to Ask 了解详情。