【发布时间】:2020-10-15 16:39:21
【问题描述】:
我有以下 XML 文件作为输入,并且想要使用 XSLT 映射的 JSON 输出。如何设计我的 XSLT 文件?
XML 输入:
<?xml version="1.0" encoding="ISO-8859-1"?>
<SyncItemMaster versionID="2.14.0" releaseID="9.2"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:schemaLocation="http://schema.infor.com/InforOAGIS/2 http://schema.infor.com/2.14.0/InforOAGIS/BODs/SyncItemMaster.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://schema.infor.com/InforOAGIS/2">
<ApplicationArea>
<Sender>
<LogicalID>lid://infor.ln.ln_1100</LogicalID>
<ComponentID>erp</ComponentID>
<ConfirmationCode>OnError</ConfirmationCode>
</Sender>
<CreationDateTime>2020-06-16T11:00:16Z</CreationDateTime>
<BODID>infor-nid:infor:1100::11064973:?ItemMaster&verb=Sync</BODID>
</ApplicationArea>
<DataArea>
<Sync>
<TenantID>infor</TenantID>
<AccountingEntityID>1100</AccountingEntityID>
<LocationID/>
<ActionCriteria>
<ActionExpression actionCode="Change"/>
</ActionCriteria>
</Sync>
<ItemMaster>
<ItemMasterHeader>
<ItemID>
<ID variationID="4241287" lid="lid://infor.ln.ln_1100" accountingEntity="1100">11064973</ID>
</ItemID>
<DisplayID>11064973</DisplayID>
<GTIN/>
<ServiceIndicator>false</ServiceIndicator>
<Description>H3BO3 4% mit Sher Indikator</Description>
<Description languageID="de_DE">H3BO3 4% mit Sher Indikator</Description>
<Description languageID="fr_FR">H3BO3 4% mit Sher Indikator</Description>
<Description languageID="it_IT">H3BO3 4% mit Sher Indikator</Description>
<Description languageID="nl_NL">H3BO3 4% mit Sher Indikator</Description>
<Description languageID="en_US">H3BO3 4% mit Sher Indikator</Description>
<Note/>
</ItemMasterHeader>
</ItemMaster>
</DataArea>
</SyncItemMaster>
预期的 JSON 输出:
{
"description":[
{
"languageID":"ge_GE",
"text":"H3BO3 4% mit Sher Indikator"
},
{
"languageID":"de_DE",
"text":"H3BO3 4% mit Sher Indikator"
},
{
"languageID":"fr_FR",
"text":"H3BO3 4% mit Sher Indikator"
},
{
"languageID":"it_IT",
"text":"H3BO3 4% mit Sher Indikator"
},
{
"languageID":"nl_NL",
"text":"H3BO3 4% mit Sher Indikator"
},
{
"languageID":"en_US",
"text":"H3BO3 4% mit Sher Indikator"
}
]
}
【问题讨论】:
-
另请注意,您输入的部分内容,即
<BODID>infor-nid:infor:1100::11064973:?ItemMaster&verb=Sync</BODID>不是格式正确的XML,与符号需要在XML 中转义为<BODID>infor-nid:infor:1100::11064973:?ItemMaster&amp;verb=Sync</BODID>。
标签: xslt xslt-1.0 xslt-2.0 xslt-3.0