我需要一些PHP的帮助,我正在生成xml输出。
在xml树上,我可以看到我正在使用双引号,但我想使用 单引号。
我想在中添加单引号
<programme
channel='MY CHANNEL NAME'
start='20140504113000'
stop='20140504131000'>
在xml树上,它将显示如下:
<programme
channel="MY CHANNEL NAME"
start="20140504113000"
stop="20140504131000">
你会看到这样的:
Screenshot http://oi57.tinypic.com/2058hs3.jpg
当我打开源代码时,我可以看到我有单引号。
<programme
channel='MY CHANNEL NAME'
start='2014-05-04'
stop='2014-05-05'>
</programme>
不确定问题是否存在于这一行:
$xml .= "<programme channel='$my_id $channel' start='$stoptime' stop='$starttime'>";
以下是代码:
<?php
header("Content-Type: text/xml");
$my_id = '101';
$channel = 'ABC FAMILY';
$starttime = '2014-05-04';
$stoptime = '2014-05-05';
$xml .= "
<programme channel='" . $my_id. " " . $channel . "' start='" .
$starttime . "' stop='" . $stoptime . "'>";
//$xml .= "<programme channel='".$channel."' start='".$starttime."'>";
//$xml .= "<programme channel='$my_id $channel' start='$starttime'
stop='$stoptime'>";
$xml .= '</programme>';
echo $xml;
$handle = fopen("myChannel.xml", "w");
fwrite ($handle, $xml);
?>
当我生成时,如何在xml树中看到单引号 xml?
答案 0 :(得分:2)
我认为XML树不会显示确切的来源,而只会显示数据。 XML被加载到内存中,然后使用缩进,“标准化”引号和突出显示,以便您可以更轻松地阅读它。字符串值以双引号显示,所以你去了。
正如你所说,源代码有单引号,因此所有内容都按预期输出。这就是它的显示方式。不用担心。
答案 1 :(得分:0)
这个独立于引号的XML总是产生单引号
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xml" href="#stylesheet"?>
<!DOCTYPE programs [
<!ATTLIST xsl:stylesheet
id ID #REQUIRED>
]>
<programs>
<xsl:stylesheet id="stylesheet" version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>PROGRAMS</h2>
<table >
<tr bgcolor="#9acd32">
<th/>
<th/>
<th>ch</th>
<th>strt</th>
<th>stop</th>
<th/>
</tr>
<tr>
<td><programs></td>
</tr>
<xsl:for-each select="programs/programme">
<tr>
<td/>
<td><programme></td>
<td>channel='<xsl:value-of select="@channel"/>'</td>
<td>start='<xsl:value-of select="@start"/>'</td>
<td>stop='<xsl:value-of select="@stop"/>'</td>
<td></programme></td>
</tr>
</xsl:for-each>
<tr>
<td></programs></td>
</tr>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
<programme channel='MY CHANNEL NAME' start="20140504113000" stop='20140504131000'/>
<programme channel="MY CHANNEL NAME2" start='20140504113000' stop="20140504131000"/>
</programs>
在这个示例之后,您可能希望使用XSLT进行所有解析;)