1

我想将一个 xml 转换为另一个 xml。例如,如果 xml 标记为字符串,

<book>
<title>test</test>
<isbn>1234567890</isbn>
<author>test</author>
<publisher>xyz publishing</publisher>
</book>

我想将上面的xml转换为,

<b00>
<t001>test</t001>
<a001>1234567890</a001>
<a002>test</a002>
<p001>xyz publishing </p001>
</b00>

如何使用php转换xml

4

1 回答 1

3

您可以使用 XSLT 进行转换。

PHP 代码

$doc = new DOMDocument();
$doc->load('/path/to/your/stylesheet.xsl');
$xsl = new XSLTProcessor();
$xsl->importStyleSheet($doc);
$doc->load('/path/to/your/file.xml');
echo $xsl->transformToXML($doc);

XSLT 文件

<?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" />
    <xsl:template match="/">
        <b00><xsl:apply-templates/></b00>
    </xsl:template>
    <xsl:template match="title">
        <t001><xsl:value-of select="."/></t001>
    </xsl:template>
    <xsl:template match="isbn">
        <a001><xsl:value-of select="."/></a001>
    </xsl:template>
    <xsl:template match="author">
        <a002><xsl:value-of select="."/></a002>
    </xsl:template>
    <xsl:template match="publisher">
        <p001><xsl:value-of select="."/></p001>
    </xsl:template>    
</xsl:stylesheet>
于 2012-10-10T13:09:43.650 回答