我是PHP新手。使用xmlwriter生成xml文件。我有下面的代码。
$xml = new XMLWriter();
$xml->openURI('test.xml');
$xml->setIndent(true);
$mmmid = '1981';
$xml->startDocument('1.0', 'UTF-8');
$xml->text('<raml xmlns="raml21.xsd" version="2.1">');
$xml->text(' <cmData scope="all" type="plan">');
$xml->text(' <header>');
$xml->text(' <log dateTime="2012-11-05T12:27:50+02:00" appInfo="Manager" user="WebUI" appVersion="4.5133.90" action="created"/>');
$xml->text(' </header>');
$xml->text(' <managedObject class="MRBTS" distName="IDENTITY-'$mmmid'" operation="create" version="1803">');
$xml->text(' <p name="btsName">B1123</p>');
$xml->text(' </managedObject>');
我想在xml文件的输出中定义mmmid,因此它将出现在输出distName =“ IDENTITY-1981”
我如何在代码中定义变量mmmid并在上面的文本输出中期望打印出该字符?
非常感谢您, Br,FM
答案 0 :(得分:0)
就是这样:
$xml->text(' <managedObject class="MRBTS" distName="IDENTITY-' . $mmmid . '" operation="create" version="1803">');
您可以通过.
运算符在PHP中添加字符串,请参见关于字符串的PHP manual
答案 1 :(得分:0)
在PHP中用字符串连接变量时,有几种方法。
"
作为周围的定界符在PHP中使用双引号"
时,您可以照常在字符串内使用变量
$foo = 4;
echo "Hello $foo";
输出:
Hello 4
这将为您的问题提供以下解决方案:
# Note that you need to escape the original double quotes with a backslash
$xml->text("<managedObject distName=\"IDENTITY-$mmmid\" operation=\"create\" version=\"1803\">');
.
串联将变量与文本绑定的另一种方法是在变量和字符串之间使用点.
(这也仅适用于字符串或仅适用于变量)。对于这种方法,您可以使用单引号'
或双引号"
。
$foo = 4;
echo 'Hello ' . $foo;
输出
Hello 4
使用这种方法,它将为您提供
$xml->text('<managedObject distName="IDENTITY-' . $mmmid . '" operation="create" version="1803">');