Как разобрать переменную php в тег xml ..? - PullRequest
0 голосов
/ 04 мая 2018
<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" /> Мне нужно передать "GR" из переменной скажем $Code = "GR";

ТИА

Ответы [ 2 ]

0 голосов
/ 05 мая 2018

Вам будет лучше использовать 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>
0 голосов
/ 04 мая 2018

Вы можете сделать это в функции;

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}' />";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...