0

PEAR XML Serializer を使用して、配列入力から xml 結果を生成しています。空の配列要素は <arraykey/> のようにエンコードされていることがわかりました。私はむしろこの方法を好む <arraykey></arraykey>

以下は私のオプションです:

            $options = array
            (
                'indent' => '   ',
                'defaultTagName' => $this->xml_tag_name,
                'addDecl' => true,
                'encoding'  => 'UTF-8',
                'rootName' => $this->xml_root_name,
                XML_SERIALIZER_OPTION_RETURN_RESULT => true
            );

これを修正するために追加する他のオプションはありますか?

4

2 に答える 2

1

ライブラリnoの実際の状態では、PEAR XML_Utilを使用し、のコードを見ると、XML_Util::createTagFromArray()空のタグに対して次のことを行います。

if (!isset($tag['content']) || (string)$tag['content'] == '')
{
    $tag = sprintf('<%s%s />', $tag['qname'], $attList);
}

のようなスペースを含む文字列を使用して空のコンテンツを偽造することもできますが、' 'その結果はのようになり<arraykey> </arraykey>ます。

ところで、<arraykey/>XMLでは完全に合法です(空のタグに推奨され、XHTMLでも使用されます)。

于 2009-11-16T19:14:02.483 に答える
0

<tag></tag>よりも形式を好む具体的な理由はあります<tag />か? (別のポスターが言ったように)<tag />完全に有効なXMLであることに注意してください。個人的には、空のタグの自己終了を好みます。

于 2009-12-02T04:01:24.043 に答える