我们可以在XML文件中使用数字作为文本节点吗? 例如
<2>
<abi>Zen</abi>
</2>
它给出了如下错误
答案 0 :(得分:16)
XML元素必须遵循以下命名规则:
* Names can contain letters, numbers, and other characters
* Names cannot start with a number or punctuation character
* Names cannot start with the letters xml (or XML, or Xml, etc)
* Names cannot contain spaces
答案 1 :(得分:1)
阅读xml spec:
&符号(&amp;)和 左尖括号(&lt;)不得出现 在他们的字面形式,除了 用作标记分隔符,或用作标记分隔符 评论,处理指令或 CDATA部分。如果需要它们 在其他地方,他们必须逃脱使用 数字字符引用或 字符串“&amp; amp;”和“&amp; lt;” 分别。直角支架 (&gt;)可以使用。来表示 字符串“&amp; gt;”,并且必须为 兼容性,使用其中一个进行转义 “&amp; gt;”或字符引用 当它出现在字符串“]]&gt;” 在内容中,当该字符串不是 标记CDATA部分的结尾。
答案 2 :(得分:0)
简短回答:不。
你可以使用这样的东西,不过
<element2>
<abi>Zen</abi>
</element2>
但这会产生一个非常丑陋的XML架构,你最终将限制在最大数量的元素。
我认为你应该这样做:
<element number="2">
<abi>Zen</abi>
</element>
答案 3 :(得分:0)
不,你不能使用
XML命名规则
XML元素必须遵循以下命名规则:
1. Names can contain letters, numbers, and other characters
2. **Names cannot start with a number or punctuation character**
3. Names cannot start with the letters xml (or XML, or Xml, etc)
4. Names cannot contain spaces
可以使用任何名称,不保留任何单词。
根据第二条规则你不能在XML文件中使用数字作为文本节点,因为它的意思是标签以数字开头
答案 4 :(得分:0)
实际上可以做到-您必须用unicode representation替换XML标记中的第一个数字字符,其中:
例如,节点<111222></111222>
可以定义为:
<_x0031_11222>
</_x0031_11222>
Java内容存储库-Apache Jackrabbit项目以这种方式处理节点名称。它不漂亮,但可以回答问题。