ColdFusion xml生成显示html标记

时间:2013-12-04 14:31:43

标签: xml coldfusion coldfusion-9 coldfusion-8

在我的html页面的一部分中,我收到生成xml文档以供下载的请求。我是这样做的:

<cfoutput>
<cfsavecontent  variable="xml_podaci">

<PodaciPoreskeDeklaracije>

<PodaciOPrijavi>
<KlijentskaOznakaDeklaracije></KlijentskaOznakaDeklaracije>
<VrstaPrijave></VrstaPrijave>
<ObracunskiPeriod></ObracunskiPeriod>
<OznakaZaKonacnu></OznakaZaKonacnu>
<DatumNastankaPoreskeObaveze></DatumNastankaPoreskeObaveze>
<DatumPlacanja></DatumPlacanja>
<VrstaIzmene></VrstaIzmene>
<JIPD></JIPD>
<BrojResenja></BrojResenja>
<Osnov></Osnov>
<NajnizaOsnovica></NajnizaOsnovica>
</PodaciOPrijavi>

<PodaciOIsplatiocu>
<TipIsplatioca></TipIsplatioca>
<VrstaIdentifikatorIsplatioca></VrstaIdentifikatorIsplatioca>
<PoreskiIdentifikacioniBroj></PoreskiIdentifikacioniBroj>
<MesecniFondSati></MesecniFondSati>
<MaticniBrojisplatioca></MaticniBrojisplatioca>
<NazivPrezimeIme></NazivPrezimeIme>
<SedistePrebivaliste></SedistePrebivaliste>
<Telefon></Telefon>
<UlicaIBroj></UlicaIBroj>
<eMail></eMail>
</PodaciOIsplatiocu>

<DeklarisaniPrihodi>
<PodaciOPrihodima>
<RedniBroj></RedniBroj>
<VrstaIdentifikatoraPrimaoca></VrstaIdentifikatoraPrimaoca>
<IdentifikatorPrimaoca></IdentifikatorPrimaoca>
<Prezime></Prezime>
<Ime></Ime>
<OznakaPrebivalista></OznakaPrebivalista>
<SVP></SVP>
<BrojKalendarskihDana></BrojKalendarskihDana>
<BrojEfektivnihSati></BrojEfektivnihSati>
<Bruto></Bruto>
<OsnovicaPorez></OsnovicaPorez>
<Porez></Porez>
<OsnovicaDoprinosi></OsnovicaDoprinosi>
<PIO></PIO>
<ZDR></ZDR>
<NEZ></NEZ>
<PIOBen></PIOBen>
<DeklarisaniMFP>
<MFP>
<Oznaka></Oznaka>
<Vrednost></Vrednost>
</MFP>
</DeklarisaniMFP>

</PodaciOPrihodima>
</DeklarisaniPrihodi>
</PodaciPoreskeDeklaracije>
</cfsavecontent>

<cfset fajl_novi_naziv = "PPPPDPrijava.xml">
<cfheader name="Content-Disposition" value="attachment; filename=#fajl_novi_naziv#" />
<cfcontent type="application/xml;charset=utf-8">
#toString(xml_podaci)#
</cfoutput>

所以我把所有的xml都放在一个变量中并创建一个新的xml附件。这就是xml生成的文件的输出结果:

<?xml version="1.0" encoding="UTF-8"?>
<PodaciPoreskeDeklaracije>

<PodaciOPrijavi>
<KlijentskaOznakaDeklaracije/>
<VrstaPrijave/>
<ObracunskiPeriod/>
<OznakaZaKonacnu/>
<DatumNastankaPoreskeObaveze/>
<DatumPlacanja/>
<VrstaIzmene/>
<JIPD/>
<BrojResenja/>
<Osnov/>
<NajnizaOsnovica/>
</PodaciOPrijavi>

<PodaciOIsplatiocu>
<TipIsplatioca/>
<VrstaIdentifikatorIsplatioca/>
<PoreskiIdentifikacioniBroj/>
<MesecniFondSati/>
<MaticniBrojisplatioca/>
<NazivPrezimeIme/>
<SedistePrebivaliste/>
<Telefon/>
<UlicaIBroj/>
<eMail/>
</PodaciOIsplatiocu>

<DeklarisaniPrihodi>
<PodaciOPrihodima>
<RedniBroj/>
<VrstaIdentifikatoraPrimaoca/>
<IdentifikatorPrimaoca/>
<Prezime/>
<Ime/>
<OznakaPrebivalista/>
<SVP/>
<BrojKalendarskihDana/>
<BrojEfektivnihSati/>
<Bruto/>
<OsnovicaPorez/>
<Porez/>
<OsnovicaDoprinosi/>
<PIO/>
<ZDR/>
<NEZ/>
<PIOBen/>
<DeklarisaniMFP>
<MFP>
<Oznaka/>
<Vrednost/>
</MFP>
</DeklarisaniMFP>

</PodaciOPrihodima>
</DeklarisaniPrihodi>
</PodaciPoreskeDeklaracije> </td>
                </tr>
                </table>

</body>
</html>

问题在于html标签

</td>
                    </tr>
                    </table>

    </body>
    </html>

仍然存在于xml中,如何删除它们?

2 个答案:

答案 0 :(得分:2)

首先,您应该使用<cfxml>,而不是<cfsavecontent>。这样,当您尝试生成无效的XML文档时,您将收到服务器错误。

接下来,您展示的示例代码永远不会包含HTML标记。这意味着您的示例代码不是您真正拥有的代码。你应该改善你的问题。

另外:缩进你的代码。

<cfxml variable="xml_podaci" casesensitive="yes">
  <PodaciPoreskeDeklaracije>
    <PodaciOPrijavi>
      <KlijentskaOznakaDeklaracije />
      <VrstaPrijave />
      <ObracunskiPeriod />
      <OznakaZaKonacnu />
      <DatumNastankaPoreskeObaveze />
      <DatumPlacanja />
      <VrstaIzmene />
      <JIPD />
      <BrojResenja />
      <Osnov />
      <NajnizaOsnovica />
    </PodaciOPrijavi>
    <!-- ... -->
  </PodaciPoreskeDeklaracije>
</cfxml>

<cfset fajl_novi_naziv = "PPPPDPrijava.xml">
<cfheader name="Content-Disposition" value="attachment; filename=#fajl_novi_naziv#" />
<cfcontent type="application/xml;charset=utf-8" /><cfoutput>#xml_podaci#</cfoutput>

答案 1 :(得分:0)

最后我做的是

<cfoutput>
<cfxml   variable="xml_podaci">
<PodaciPoreskeDeklaracije>
<PodaciOPrijavi>
<KlijentskaOznakaDeklaracije></KlijentskaOznakaDeklaracije>
<VrstaPrijave></VrstaPrijave>
<ObracunskiPeriod></ObracunskiPeriod>
<OznakaZaKonacnu></OznakaZaKonacnu>
<DatumNastankaPoreskeObaveze></DatumNastankaPoreskeObaveze>
<DatumPlacanja></DatumPlacanja>
<VrstaIzmene></VrstaIzmene>
<JIPD></JIPD>
<BrojResenja></BrojResenja>
<Osnov></Osnov>
<NajnizaOsnovica></NajnizaOsnovica>
</PodaciOPrijavi>
<PodaciOIsplatiocu>
<TipIsplatioca></TipIsplatioca>
<VrstaIdentifikatorIsplatioca></VrstaIdentifikatorIsplatioca>
<PoreskiIdentifikacioniBroj></PoreskiIdentifikacioniBroj>
<MesecniFondSati></MesecniFondSati>
<MaticniBrojisplatioca></MaticniBrojisplatioca>
<NazivPrezimeIme></NazivPrezimeIme>
<SedistePrebivaliste></SedistePrebivaliste>
<Telefon></Telefon>
<UlicaIBroj></UlicaIBroj>
<eMail></eMail>
</PodaciOIsplatiocu>
<DeklarisaniPrihodi>
<PodaciOPrihodima>
<RedniBroj></RedniBroj>
<VrstaIdentifikatoraPrimaoca></VrstaIdentifikatoraPrimaoca>
<IdentifikatorPrimaoca></IdentifikatorPrimaoca>
<Prezime></Prezime>
<Ime></Ime>
<OznakaPrebivalista></OznakaPrebivalista>
<SVP></SVP>
<BrojKalendarskihDana></BrojKalendarskihDana>
<BrojEfektivnihSati></BrojEfektivnihSati>
<Bruto></Bruto>
<OsnovicaPorez></OsnovicaPorez>
<Porez></Porez>
<OsnovicaDoprinosi></OsnovicaDoprinosi>
<PIO></PIO>
<ZDR></ZDR>
<NEZ></NEZ>
<PIOBen></PIOBen>
<DeklarisaniMFP>
<MFP>
<Oznaka></Oznaka>
<Vrednost></Vrednost>
</MFP>
</DeklarisaniMFP>
</PodaciOPrihodima>
</DeklarisaniPrihodi>
<Kamata>
<Porez></Porez>
<PIO></PIO>
<ZDR></ZDR>
<NEZ></NEZ>
<PIOBen></PIOBen>
</Kamata>
</PodaciPoreskeDeklaracije>
</cfxml>

<cfset fajl_novi_naziv = "PPPPDPrijava.xml">
<cffile action="write" file="#expandpath('./PPPPDPrijava.xml')#" output="#xml_podaci#"/>

<script type="text/javascript">
alert("XML generated on location : #expandpath('./PPPPDPrijava.xml')#");
</script>

</cfoutput>

由于在生成xml文件作为附件时我找不到避免html标签的方法,我决定在服务器上写一个文件,后者提供该文件的链接......因为该应用程序是由一个人使用的..