Php pearxml_序列化程序中空标记的处理
Im使用PEAR XML序列化程序从数组输入生成XML结果。我发现空数组元素的编码如下:。我宁愿这样 以下是我的选择:Php pearxml_序列化程序中空标记的处理,php,xml,pear,Php,Xml,Pear,Im使用PEAR XML序列化程序从数组输入生成XML结果。我发现空数组元素的编码如下:。我宁愿这样 以下是我的选择: $options = array ( 'indent' => ' ', 'defaultTagName' => $this->xml_tag_name, 'addDecl' => true,
$options = array
(
'indent' => ' ',
'defaultTagName' => $this->xml_tag_name,
'addDecl' => true,
'encoding' => 'UTF-8',
'rootName' => $this->xml_root_name,
XML_SERIALIZER_OPTION_RETURN_RESULT => true
);
是否有任何其他选项可以添加以修复此问题?在库的实际状态中,它使用了no,如果您查看
XML\u Util::createTagFromArray()
的代码,它会对空标记执行以下操作:
if (!isset($tag['content']) || (string)$tag['content'] == '')
{
$tag = sprintf('<%s%s />', $tag['qname'], $attList);
}
if(!isset($tag['content'])| |(string)$tag['content']='')
{
$tag=sprintf(“”,$tag['qname'],$attList);
}
您可能会用一个包含空格(如'
)的字符串来伪造空内容,但这会导致类似
的结果
顺便说一句,
在XML中是完全合法的(建议用于空标记,在XHTML中也使用它)。您喜欢
格式而不是
格式的具体原因是什么?注意(正如另一张海报所说)
是完全有效的XML。就我个人而言,我更喜欢空标签的自动关闭