保存并显示通过使用Xsl文件转换另一个XML的值而创建的XML文件。

时间:2014-05-27 05:16:32

标签: php xml xslt

您好我有一个xml文件,并且我正在从php中的xsl文件转换它的值。我想将新值显示为xml。我可以在php中得到值,但是当我放入标题时,它会在元素之后出现错误。我不能将saveXML()用于返回的字符串。 我需要将这些返回的信息保存在一个新的xml文件中,我不知道该怎么做。请帮帮我这个>提前谢谢你。

php文件

<?php
//header('Content-Type: text/xml');
$xmlDoc = new DOMDocument('1.0');
$xmlDoc->formatOutput = true;
$xmlDoc->load("rental.xml");
$xslDoc = new DomDocument('1.0');
$xslDoc->load("apartment.xsl");
$proc = new XSLTProcessor;
$proc->importStyleSheet($xslDoc);
$strXml= $proc->transformToXML($xmlDoc);
//echo (toXml($strXml));
echo ($strXml);
//echo $strXml->saveXML();
?>

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" indent="yes" />   
  <xsl:template match="/">
  <xsl:for-each select="//property">
      <xsl:element name="rentalProperties">
        <xsl:element name="description">
        <xsl:value-of select="description"/>
        </xsl:element>
      </xsl:element>
    </xsl:for-each>  
  </xsl:template>
</xsl:stylesheet>

1 个答案:

答案 0 :(得分:0)

此代码将帮助您将xml字符串保存到文件中。

<?php
//header('Content-Type: text/xml');
$xmlDoc = new DOMDocument('1.0');
$xmlDoc->formatOutput = true;
$xmlDoc->load("rental.xml");
$xslDoc = new DomDocument('1.0');
$xslDoc->load("apartment.xsl");
$proc = new XSLTProcessor;
$proc->importStyleSheet($xslDoc);
$strXml= $proc->transformToXML($xmlDoc);
//echo (toXml($strXml));
echo ($proc->transformToXML($xmlDoc));
//$strXml->saveXML();

// Way to parse XML string and save to a file
$convertedXML = simplexml_load_string($strXml);
$convertedXML->saveXML("member.xml");
?>

干杯。