以下是XML文件的示例:
<tag value=">this is well formatted xml"/>
这可以在MSXML和Apache Xerces中成功加载。
<tag value="<this is not"/>
这将失败。
我认为大于号和小号符号在XML文件中都是非法的,因为它们不用作标记分隔符。但上面的例子显示大于号是好的。
任何人都可以解释或提供有关此文档的链接吗?感谢。
答案 0 :(得分:3)
只有字符“&lt;”和“&amp;”在XML中严格违法。大于字符是合法的,但更换它是一个好习惯。
Entity References
Some characters have a special meaning in XML.
If you place a character like "<" inside an XML element, it will generate an error because the parser interprets it as the start of a new element.
This will generate an XML error:
<message>if salary < 1000 then</message>
To avoid this error, replace the "<" character with an entity reference:
<message>if salary < 1000 then</message>
There are 5 predefined entity references in XML:
< < less than
> > greater than
& & ampersand
' ' apostrophe
" " quotation mark
Note: Only the characters "<" and "&" are strictly illegal in XML. The greater than character is legal, but it is a good habit to replace it.
编辑1:
来源链接http://www.w3schools.com/xml/xml_syntax.asp
您可以获得与XMl相关的更多信息
示例:强>
以下是变量在XML文件中不正确编码的内容:
<mail id="a1" to="&<manager>@mycompany.com" …
以下是变量在XML文件中正确编码的内容:
<mail id="a1" to="&<manager>@mycompany.com" …>
答案 1 :(得分:2)
你问“为什么”一个是非法的而另一个不是。关于XML语法的“为什么”问题的答案通常植根于其SGML历史 - XML的设计者希望确保它是SGML的严格子集,并且可以由SGML解析器解析。 SGML允许在XML没有的区域内自由,例如省略属性值周围的引号,这解释了XML继承的一些限制。