根据我在XML规范中找到的内容,以下3个字符是唯一非法的字符:
我们正在与供应商合作开发一种似乎无法处理换行符的工具。
e.g。
<Comments> This is line 1
This is line 2
</Comments>
将在工具中产生错误,并且我给出的根本原因是XML中不允许使用换行符。该规范没有明确说明这一点。
我试图理解新行是否确实是XML中的无效字符,或者这可能是该工具的限制。
答案 0 :(得分:3)
据推测,您的意思是询问格式良好,无效的XML 。 (有关差异的详细信息,请参阅Well-formed vs Valid XML。)
格式良好的XML中肯定允许使用换行符。
(#xA
)是CR
(#xD
)是LF (Windows通常以CR + LF为终点; MacOS X和Linux,LF;经典Mac OS,CR。)
XML建议确实明确允许两者。见Character Range:
Char :: =#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE000-#xFFFD] | [#x10000-#x10FFFF]
在元素中,新行通常重要到应用程序:
<a>one
two</a>
通常意味着与
不同的东西<a>one two</a>
在标记之间,新行通常无关紧要:
<a>
<b>one</b>
</a>
通常与
相同<a><b>one</b></a>
最后,你在描述&
,<
和>
是非法的时候,有点草率地画画。相反,请使用以下准则:
&
:如果不是实体引用的一部分,则必须使用&
。<
:如果不是标记,评论,PI等的一部分,则必须使用<
。>
:如果字符串>
的一部分,则必须使用]]>
。'
:如果在apos;
分隔的属性值中,则必须使用'
。"
:如果在quot;
分隔的属性值中,则必须使用"
。答案 1 :(得分:0)
没有。新行字符在XML中是完全可以接受的。它们包含在the character range for text中。