例如。 这些 xml 标签是否可接受。
<xml>
<3333>abc</3333>
<ab#$3>def</ab#$3>
</xml>
我的问题是我可以创建整数值标签或带有特殊字符的标签吗?
我试过了
FileStream fs = new FileStream((filename), FileMode.Append);
XmlWriter w = XmlWriter.Create(fs);
w.WriteStartElement("3454");
并出现以下错误
{System.ArgumentException:“3454”中的名称字符无效。名称中不能包含“3”字符(十六进制值 0x33)。
在 System.Xml.XmlWellFormedWriter.CheckNCName(String ncname)
在System.Xml.XmlWellFormedWriter.WriteStartElement(字符串前缀,字符串本地名称,字符串ns)
在 System.Xml.XmlWriter.WriteStartElement(String localName)
在WindowsFormsApplication1.Form1.fn_setMapping(SqlString keyString,SqlString列,SqlString值)
谢谢
最佳答案
XML 元素名称不能以数字开头,因此 <3333>
无效。
至于哪些特殊字符有效...请参阅 spec for element names .
NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
Name ::= NameStartChar (NameChar)*
有效的名称应以 NameStartChar
开头后跟任意数量的 NameChar
。
关于.net - xml 标签可以由整数值组成还是可以包含特殊字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10534796/