首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

XML-为什么老是报错,该怎么解决

2012-05-04 
XML---为什么老是报错?xml version1.0 encodinggb2312 ?!DOCTYPE students [!ELEMENT students

XML---为什么老是报错
<?xml version="1.0" encoding="gb2312" ?>
<!DOCTYPE students [
  <!ELEMENT students (student*) >
  <!ELEMENT student (sex)>
  <!ATTLIST student name CDATA #REQUIRED>
  <!ATTLIST student id ID #REQUIRED>
  <!ELEMENT sex (#PCDATA)>
]>
<students>
  <student name="熊俊" id="123" >
  <sex>男</sex>
  </student>
  <student name="萧蔷" id="124" >
  <sex>女</sex>
  </student>
</students>


红色地方为什么老是报错,ID类型的属性值,报错,说:不能id值不能以“1”开头,这是什么原因啊?

[解决办法]
ID类型的属性必须包含一个XML名称,而且该名称在文档中是独一无二的。ID属性可为元素分配一个唯一的标识符。

<!ATTLIST student id ID #REQUIRED>

由于数字不是合法的XML名称,所以ID编号不能以数字开头,解决办法是在前面加下划线或字母。

[解决办法]
The first character of an ID value must be a letter, '_', or ':'
http://xmlwriter.net/xml_guide/attlist_declaration.shtml
[解决办法]

探讨

ID类型的属性必须包含一个XML名称,而且该名称在文档中是独一无二的。ID属性可为元素分配一个唯一的标识符。

<!ATTLIST student id ID #REQUIRED>

由于数字不是合法的XML名称,所以ID编号不能以数字开头,解决办法是在前面加下划线或字母。

[解决办法]
楼上的正确 你讲代码改成
C# code
<?xml version="1.0" encoding="gb2312" ?><!DOCTYPE students [  <!ELEMENT students (student*) >  <!ELEMENT student (sex)>  <!ATTLIST student name CDATA #REQUIRED>  <!ATTLIST student id ID #REQUIRED>  <!ELEMENT sex (#PCDATA)>]><students>  <student name="熊俊" id="_23" >  <sex>男</sex>  </student>  <student name="萧蔷" id="_24" >  <sex>女</sex>  </student></students>
[解决办法]
探讨
引用:

ID类型的属性必须包含一个XML名称,而且该名称在文档中是独一无二的。ID属性可为元素分配一个唯一的标识符。

<!ATTLIST student id ID #REQUIRED>

由于数字不是合法的XML名称,所以ID编号不能以数字开头,解决办法是在前面加下划线或字母。


为什么 <student name="熊俊" id="123" >这个没报哪……

热点排行