如何将php变量解析为xml标签..?

时间:2018-05-04 09:50:25

标签: php xml tags

<Address FormattedInd="true">
      <CityName>Athens Center</CityName>
           <County>'.$Country.'</County>
      <CountryName Code="GR" />  
</Address>

对于县,我可以使用<County>'.$Country.'</County>。其中$Country="CountryName" 但是对于像CountryName Code =“GR”这样的单个标签,我如何将代码“GR”作为PHP变量传递。 在这里,<CountryName Code="GR" />我需要从变量说$Code = "GR";

传递“GR”

TIA

2 个答案:

答案 0 :(得分:1)

你可以在一个函数中完成;

function GenerateXML($tagname, $value)
{
    return "
        <{$tagname}>
            {$value}
        </{$tagname}>
    ";    
}

或者,在PHP文件中

<?
print "<tagname>{$value}</tagname>";
?>

无论哪种方式都有效

自闭标签;

function XMLSelfClose($tagname, $valuename, $value)
{
    return "<{$tagname} {$valuename}='{$value}' />";
}

print "<{$tagname} {$valuename}='{$value}' />";

答案 1 :(得分:0)

使用SimpleXML比使用字符串创建XML更好,如果您开始按原样构建数据,则可以轻松搞乱内容。

您可以使用...

创建上述内容
$Country = "Greece";
$Code = "GR";

// Create base document
$xml =new SimpleXMLElement('<Address FormattedInd="true"></Address>');
// Add in the CityName elment
$xml->addChild("CityName", "Athens Center");
$xml->addChild("Country", $Country);
$countryName = $xml->addChild("CountryName");
// With the CountryName element just created, add the Code attribute
$countryName->addAttribute("Code", $Code);

echo $xml->asXML();

哪些输出......

<?xml version="1.0"?>
<Address FormattedInd="true"><CityName>Athens Center</CityName><Country>Greece</Country><CountryName Code="GR"/></Address>