为什么XML元素无效?

时间:2011-09-11 15:49:15

标签: xml

<?xml version="1.0" ?>
<accounts>
    <1167/>
    <1328/>
    <1505/>
    <1536 default="true" />
    <1966/>
</accounts>

当我在http://www.w3schools.com/XML/xml_validator.asp传递上述XML时,我收到一条错误,指出&lt; 1167 /&gt;行了是无效的。我查看了元素的w3描述,并没有看到为什么它应该是错误的任何原因。我确定这是一个简单的错误,所以会感激任何帮助。

由于

4 个答案:

答案 0 :(得分:9)

元素的名称必须为not start with a digit¹。

此外,元素的名称应描述所表示实体的“类”或“类型”,并且是静态的。我可以建议:

<accounts>
    <account number="1167"/>
    <account number="1328"/>
    <account number="1505"/>
    <account number="1536" default="true" />
    <account number="1966"/>
</accounts>

¹出于某种原因,这里的许多答案都链接到w3schools(隶属于W3C)。相反,您应该只信任XML standard

答案 1 :(得分:6)

取自http://www.w3schools.com/xml/xml_elements.asp

  

XML命名规则

     

XML元素必须遵循以下命名规则:

     

名称不能以数字或标点符号开头

或(更具权威性)http://www.w3.org/TR/xml/

  

名称起始字符必须具有类别Ll,Lu,Lo,Lt,Nl之一。

L开头的类别是Unicode中的各种“字母”类别,Nl是看起来像字母的数字,例如罗马数字(Ⅰ,Ⅱ,Ⅲ,Ⅳ, ⅴ...)。

答案 2 :(得分:2)

因为它以数字开头而且不允许。请参阅here

  

XML命名规则

     

XML元素必须遵循以下命名规则:

     
      
  • 名称可以包含字母,数字和其他字符
  •   
  • 名称不能以数字或标点符号开头
  •   
  • 名称不能以字母xml(或XML,或Xml等)
  • 开头   
  • 名称不能包含空格
  •   
  • 可以使用任何名称,不保留任何字词。
  •   

答案 3 :(得分:1)

XML元素名称不能以数字开头。例如,请参阅here