输入XML
<Root>
<Result>
<System>
<Name>ABC</Name>
<ID pname="PAD">
<value>4567</value>
</ID>
<lastTime>2013-11-06T17:36:46.000-05:00</lastTime>
</System>
<line>Metals</line>
</Result>
<Result>
<System>
<Name>CAYS</Name>
<ID pname="PAD">
<value>MCIERT</value>
</ID>
<ID pname="ATPAD">
<value>56412</value>
</ID>
<lastTime>2013-12-06T16:43:36.000-05:00</lastTime>
</System>
<System>
<Name>CAYS</Name>
<ID pname="CAD">
<value>DGSG</value>
</ID>
<ID pname="ARCAD">
<value>2847114</value>
</ID>
<lastTime>2013-12-07T20:02:38.000-05:00</lastTime>
</System>
<line>Minerals</line>
</Result>
</Root>
输出Json
{
"Root": {
"Result": [
{
"System": {
"Name": "ABC",
"ID": {
"pname": "PAD",
"value": "4567"
},
"lastTime": "2013-11-06T17:36:46.000-05:00"
},
"line": "Metals"
},
{
"System": [
{
"Name": "CAYS",
"ID": [
{
"pname": "PAD",
"value": "MCIERT"
},
{
"pname": "ATPAD",
"value": "56412"
}
],
"lastTime": "2013-12-06T16:43:36.000-05:00"
},
{
"Name": "CAYS",
"ID": [
{
"pname": "CAD",
"value": "DGSG"
},
{
"pname": "ARCAD",
"value": "2847114"
}
],
"lastTime": "2013-12-07T20:02:38.000-05:00"
}
],
"line": "Minerals"
}
]
}
}
如何编写通用的xslt样式表,它将输入的xml转换为json
输入可能在根目录下有太多结果,在结果下可能有系统和名称,在系统下还有ID名称和值。
我从此处复制并粘贴的以下XSLT
应该可以帮助您将XML转换为JSON。谢谢 :)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="/">{
<xsl:apply-templates select="*"/>}
</xsl:template>
<!-- Object or Element Property-->
<xsl:template match="*">
"<xsl:value-of select="name()"/>" :<xsl:call-template name="Properties">
<xsl:with-param name="parent" select="'Yes'"> </xsl:with-param>
</xsl:call-template>
</xsl:template>
<!-- Array Element -->
<xsl:template match="*" mode="ArrayElement">
<xsl:call-template name="Properties"/>
</xsl:template>
<!-- Object Properties -->
<xsl:template name="Properties">
<xsl:param name="parent"></xsl:param>
<xsl:variable name="childName" select="name(*[1])"/>
<xsl:choose>
<xsl:when test="not(*|@*)"><xsl:choose><xsl:when test="$parent='Yes'"> <xsl:text>"</xsl:text><xsl:value-of select="."/><xsl:text>"</xsl:text></xsl:when>
<xsl:otherwise>"<xsl:value-of select="name()"/>":"<xsl:value-of select="."/>"</xsl:otherwise>
</xsl:choose>
</xsl:when>
<xsl:when test="count(*[name()=$childName]) > 1">{ "<xsl:value-of select="$childName"/>" :[<xsl:apply-templates select="*" mode="ArrayElement"/>] }</xsl:when>
<xsl:otherwise>{
<xsl:apply-templates select="@*"/>
<xsl:apply-templates select="*"/>
}</xsl:otherwise>
</xsl:choose>
<xsl:if test="following-sibling::*">,</xsl:if>
</xsl:template>
<!-- Attribute Property -->
<xsl:template match="@*">"<xsl:value-of select="name()"/>" : "<xsl:value-of select="."/>",
</xsl:template>
</xsl:stylesheet>
本文向大家介绍Python将xml和xsl转换为html的方法,包括了Python将xml和xsl转换为html的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Python将xml和xsl转换为html的方法。分享给大家供大家参考。具体分析如下: 这里需要用libxml2,所以还要先安装了libxml2模块才能使用。代码如下: 希望本文所述对大家的Python程序设计有所帮助。
问题内容: 我试图将JSON输出转换为XML。不幸的是我得到这个错误: JSON根对象具有多个属性。根对象必须具有单个属性才能创建有效的XML文档。考虑指定DeserializeRootElementName。 这就是我到目前为止所创建的。 这是我的JSON输出: 我怎么解决这个问题? 问题答案: 尽管问题中提供的JSON并不完整,但您在顶层具有多个属性,如异常所示。您必须为其定义根以获取有效的X
“n”表示标记名称的名称,“v”表示标记的值 我应该在XSLT中指定什么?
XML输入文件: XML输入文件转换为XML输出文件。将XML输入文件的firstName、middleName和lastName标签合并为XML Ouput文件的name标签,将XML输入文件的address1、address2、city、state和pincode标签合并为XML Ouput文件的address标签。 我几乎转换了代码,但我在这里与empId作斗争。我已经在XSLT文件中手动输
1.删除所有值为空或值长度<1的节点属性,如示例所示: 应变为 所以如果可能的话,我应该一次完成这两个转换。我目前被困在这个#2任何帮助都是学徒 问题更新: Per应答将xsl文件更改为: 来自几乎工作,所以工作,工作(几乎)。一个例外是,没有子元素且没有文本值的单个元素不会被移除,即: 这也应该删除。所以差不多起作用了。
问题内容: 我有一些需要用XML迷惑的HTML文件。我们正在使用这些HTML为应用程序提供内容,但是现在我们必须以XML形式提供这些内容。 HTML文件包含,表格,div,图像,p,b或强标签等。 我用谷歌搜索并找到了一些应用程序,但是我还无法实现。 您能否建议一种将这些文件内容转换为XML的方法? 问题答案: 我成功使用了命令行实用程序。在Linux上,我使用迅速安装了它。然后命令: 给了一个x