2

例えば。これらの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: Invalid name character in '3454'. The '3' character, hexadecimal value 0x33, cannot be included in a name. at System.Xml.XmlWellFormedWriter.CheckNCName(String ncname) at System.Xml.XmlWellFormedWriter.WriteStartElement(String prefix, String localName, String ns) at System.Xml.XmlWriter.WriteStartElement(String localName) at WindowsFormsApplication1.Form1.fn_setMapping(SqlString keyString, SqlString column, SqlString value)

ありがとうございました

4

1 に答える 1

5

XML要素名は数字で始めることができないため、<3333>無効です。

どの特殊文字が有効かについては...要素名の仕様を参照してください。

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ます。

于 2012-05-10T13:17:52.547 に答える