首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

工具?
EN

Stack Overflow用户
提问于 2009-10-07 00:10:31
回答 2查看 6.2K关注 0票数 3

我有一个json文件,但是我只使用从xml文件导入数据的应用程序。那么,有人知道一个将json文件转换为xml的工具吗?几个小时以来,我一直在寻找这样的工具,只能找到从xml创建json文件的工具。

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2009-10-07 01:30:19

如果您使用的是.NET框架,您可以在代码中这样做:

  • 使用JsonReaderWriterFactory类
  • 在JSON内容上创建一个JSON读取器,创建一个常规的XmlWriter,并在其上调用WriteNode,将JSON读取器交给它。它将写出对应于您的JSON.

的XML。

注意事项:

  • 这将使用微软专有的JSON到XML映射(没有标准的)。XML看起来会很奇怪,
  • 在.NET3.5中有一些严重的错误阻碍了这个场景。可能在.NET 3.5 SP1中固定,在4.0中固定,在Silverlight 3

中肯定固定

票数 0
EN

Stack Overflow用户

发布于 2011-05-02 23:48:07

纯XSLT2.0实现

从 上看一看。

使用这个函数非常容易合并JSon并使用它,就像.XML。

例如,可以只编写以下XPath表达式:

代码语言:javascript
运行
复制
f:json-document($vstrParam)/Students/*[sex = 'Female']

Students sex = 'Female'的孩子都是

这里是完整的示例:

代码语言:javascript
运行
复制
<xsl:stylesheet version="2.0"
 xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
 xmlns:xs="http://www.w3.org/2001/XMLSchema"
 xmlns:f="http://fxsl.sf.net/"
 exclude-result-prefixes="f xs"
 >
 <xsl:import href="../f/func-json-document.xsl"/>

 <xsl:output omit-xml-declaration="yes" indent="yes"/>

 <xsl:variable name="vstrParam" as="xs:string">
{

  "teacher":{
    "name":
      "Mr Borat",
    "age":
      "35",
    "Nationality":
      "Kazakhstan"
             },


  "Class":{
    "Semester":
      "Summer",
    "Room":
      null,
    "Subject":
      "Politics",
    "Notes":
      "We're happy, you happy?"
           },

  "Students":
    {
      "Smith":
        {"First Name":"Mary","sex":"Female"},
      "Brown":
        {"First Name":"John","sex":"Male"},
      "Jackson":
        {"First Name":"Jackie","sex":"Female"}
    }
    ,


  "Grades":

    {
      "Test":
      [
        {"grade":"A","points":68,"grade":"B","points":25,"grade":"C","points":15},

        {"grade":"C","points":2, "grade":"B","points":29, "grade":"A","points":55},

        {"grade":"C","points":2, "grade":"A","points":72, "grade":"A","points":65}
       ]
    }


}
 </xsl:variable>

 <xsl:template match="/">
    <xsl:sequence select=
     "f:json-document($vstrParam)/Students/*[sex = 'Female']"/>

 </xsl:template>
</xsl:stylesheet>

当将上述转换应用于任何XML文档(忽略)时,将生成正确的结果。

代码语言:javascript
运行
复制
<Smith>
   <First_Name>Mary</First_Name>
   <sex>Female</sex>
</Smith>
<Jackson>
   <First_Name>Jackie</First_Name>
   <sex>Female</sex>
</Jackson>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1528819

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档