【发布时间】:2015-02-20 18:14:13
【问题描述】:
我得到的输入:
<table>
<source1>
<ptr>
<data name="text1">20431</data>
<data name="text2">collins</data>
<data name="text3">20141231></data>
<data name="text4">regard</data>
</ptr>
</source1>
<source2>
<ptr>
<data name="note1">C</data>
<data name="note2">A</data>
<data name="note3">22356</data>
<data name="note4">465506</data>
<data name="note5">434562491057912</data>
<data name="note6">milk</data>
<data name="note7">dfRTA</data>
</ptr>
</source2>
<source3>
<enroll>n</enroll>
</source3>
</table>
需要把这个转成json为
{
"table":
{
"source1":
{"text1":"20431",
"text2": "collins",
"text3": "20141231",
"text4" :"regard"
},
"source2":
{"note1":"20431",
"note2": "A",
"note3":"22356",
"note4":"465506",
"note5":"434562491057912",
"note6":"milk",
"note7":"dfRTA"
}
}}
如何使用 xsl 转换任何通用的而不是匹配每个属性名称。 任何人都有可以进行上述转换的样式表
【问题讨论】:
-
什么决定了 JSON 中使用了哪些元素(例如
table、source1)和不使用哪些元素(例如ptr、enroll)? -
那些是固定的,所有带有“数据”的元素都需要转换为json。那是reqmnet
-
但
table、source1和source2出现在输出中但不是“数据”(并且table也是数据元素的父元素)。因此,问题是:一个例子不做一个规范。 -
我支持使用 XSLT 避免方形钉通过圆孔的建议。由于内容阻抗 (JSON!= XML) 和相关缺乏进行正确转换所需的元数据,这是有问题的。如果您碰巧有表达内容的实际 proglang 对象,将 XML 读入其中,然后以 JSON 格式编写会导致更好的数据转换。