phpsimplexml显示意外错误


php simplexml showing unexpected error

我正试图用以下代码创建一个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似乎是有效的。

XML标记不能以数字开头。它应该始终以以下字符之一开头:

[A-Z]|"_]

像这样的东西应该起作用:

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

您可以通过使用在线XML验证器来轻松地验证这一点,比如这个验证器。

请参阅此处的文档:http://www.w3.org/TR/REC-xml/#NT-名称起始字符