1

次のコードでxmlファイルを作成しようとしています:

$xmlfile='template.xml';
$xml = simplexml_load_file($xmlfile);
$xml->asXML('12801.xml');

一方、template.xml ファイルには次の内容が含まれています。

<?xml version="1.0" standalone="yes"?>
<posts>
    <1president/>
    <2vice-president/>
    <3secretary/>
    <4assistant-secretary/>
    <5science-secretary/>
    <6dramatic-secretary/>
    <7athletic-secretary/>
</posts>

それは言って多くのエラーを投げています:

Warning: simplexml_load_file(): template.xml:3: parser error : StartTag: invalid element name in try.php on line 3

ここで何が問題なのですか?私が知っている限り、template.xml の xml は有効なようです。

4

1 に答える 1

4

XML タグは数字で始めることはできません。常に次のいずれかの文字で始まる必要があります。

[AZ] | "_" | [az] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

このようなものが動作するはずです:

<posts>
    <president/>
    <vice-president/>
    <secretary/>
    <assistant-secretary/>
    <science-secretary/>
    <dramatic-secretary/>
    <athletic-secretary/>
</posts>

これは、このようなオンライン XML バリデーターを使用して簡単に確認できます。

ここのドキュメントを参照してください: http://www.w3.org/TR/REC-xml/#NT-NameStartChar

于 2013-08-18T21:22:17.077 に答える