如何用XML中的数字开始XElement的名称?

时间:2014-07-31 08:31:05

标签: c# xml linq-to-xml

当我写代码时......

   var Doc1 = new XDocument(
                            new XDeclaration("1.0", "utf-8", "yes"),
                            new XComment("XML information ..."),
                            new XElement("24 hours")
                           );

它向我展示了一个运行时异常!

"An unhandled exception of type 'System.Xml.XmlException' occurred in System.Xml.dll
Additional information: Name cannot begin with the '2' character, hexadecimal value 0x32."

那有什么不对? 我应该怎么做以开始带有数字的XElement名称?
我的意思是为了得到这个结果......

 <?xml version="1.0" encoding="utf-8" standalone="yes"?>
 <!--XML information ...-->
 <24 hours>
 </24 hours>    

有可能吗?

2 个答案:

答案 0 :(得分:2)

你不能。 XML规则说:

  • 名称可以包含字母,数字和其他字符
  • 名称不能以数字或标点字符
  • 开头
  • 名称不能以字母xml(或XML,或Xml等)
  • 开头
  • 名称不能包含空格

对于解决方案,您可以为您的号码添加前缀,它将起作用:

<_24hours>

答案 1 :(得分:1)

XML Naming Rules

XML elements must follow these naming rules:

Names cannot start with a number or punctuation character

您可以在此处查看更多内容 - http://www.w3.org/TR/xml/