以下是 XML 文件的示例:
<tag value=">this is well formatted xml"/>
这可以在 MSXML 和 Apache Xerces 中成功加载。
<tag value="<this is not"/>
这将失败。
我认为大于号和小于号在 XML 文件中都是非法的,当它们不被用作标签分隔符时。但是上面的例子显示大于号是可以的。
任何人都可以解释或提供有关此文件的链接吗?谢谢。
以下是 XML 文件的示例:
<tag value=">this is well formatted xml"/>
这可以在 MSXML 和 Apache Xerces 中成功加载。
<tag value="<this is not"/>
这将失败。
我认为大于号和小于号在 XML 文件中都是非法的,当它们不被用作标签分隔符时。但是上面的例子显示大于号是可以的。
任何人都可以解释或提供有关此文件的链接吗?谢谢。
只有字符“<”和“&”在 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" …>
你问“为什么”一个是非法的,另一个不是。关于 XML 语法的“为什么”问题的答案通常植根于它的 SGML 历史——XML 的设计者希望确保它是 SGML 的严格子集,并且可以被 SGML 解析器解析。SGML 在 XML 不允许的领域允许自由,例如省略属性值周围的引号,这解释了 XML 继承的一些限制。