【发布时间】:2016-04-15 04:17:33
【问题描述】:
我正在尝试将一个 XML 文件转换为另一个 XML 文件。这是我的输入文件:
<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="inlamning.xsl"?>
<Ansokan>
<forskola_namn>Kopparholmen</forskola_namn>
<barn persunnummer="200505051111">
<namn>Niklas Niklasson</namn>
<syskon_pnr>200606061111</syskon_pnr>
<allergi>Laktos</allergi>
</barn>
<vardnadshavare personnummer="198606061111">
<fornamn>Magnus</fornamn>
<efternamn>Niklasson</efternamn>
<adress>
<hem>Magnusgatan 10</hem>
<jobb>Jobbgatan 1</jobb>
</adress>
<telefon>
<hem>0520-12345</hem>
<mobil>077-731731</mobil>
</telefon>
</vardnadshavare>
<vardnadshavare personnummer="198605051111">
<fornamn>Hanna</fornamn>
<efternamn>Niklasson</efternamn>
<adress>
<hem>Magnusgatan 10</hem>
<jobb>Jobbgatan 5</jobb>
</adress>
<telefon>
<hem></hem>
<mobil>077-721721</mobil>
</telefon>
</vardnadshavare>
<annat_ommande_skal>Inget</annat_ommande_skal>
</Ansokan>
这是我尝试做的转换后的 XML:
<begaranominkomstuppgift>
<person personnummer="">
<fornamn></fornamn>
<efternamn></efternamn>
</person>
<person personnummer="">
<fornamn></fornamn>
<efternamn></efternamn>
</person>
</begaranominkomstuppgift>
我想要做的是,创建一个新的根为<begaranominkomstuppgift>,并使用属性将 2 vardnadshavare 作为<person>,然后只使用 vardnadshavare <fornamn> 和 <efternamn>。
这是我的 XSL 文件:
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" indent="yes" />
<xsl:template match="/">
<begaranominkomstuppgift>
<xsl:apply-templates select="Ansokan/vardnadshavare" />
</begaranominkomstuppgift>
</xsl:template>
<xsl:template match="Ansokan/vardnadshavare">
<xsl:element name="person" personnummer="{@personnummer}">
<xsl:element name="fornamn">
<xsl:value‐of select="fornamn" />
</xsl:element>
<xsl:element name="efternamn">
<xsl:value‐of select="efternamn" />
</xsl:element>
</xsl:template>
</xsl:stylesheet>
XSL 文件可能没有获取正确的信息。而且改造后我看不到标签。我的意思是即使我选择了正确的信息,它也不会在转换后显示 xml 标签。我哪里错了?
【问题讨论】:
-
您可能希望为您的帖子选择一个更具体的标题。 “使用 XSL 进行 XML 到 XML 转换”几乎是通用的,它描述了该站点上几乎所有 XSLT 问题。