2013-01-15 29 views
0

我现在这个XML(从PHP阵列创建):这个XML有什么问题,结构不正确?

<?xml version="1.0" encoding="UTF-8"?> 
<documentation_export> 
<_data_documentation> 
    <309>The quick brown fox jumps over prepared statement.</309> 
    <310>Test 1</310> 
    <312>Test 2</312> 
    <313>nmnmnmnmn</313> 
</_data_documentation> 
</documentation_export> 

它显示XML解析错误:没有很好地formed..I'm不是很熟悉XML格式。 这个XML文件仍然可用,或者可以转换回PHP数组变量(尽管有错误)?

感谢您的帮助..

回答

3

结构明智它看起来不错,但我不认为标签可以被命名或以数字开头。

1

标签名称不得以数字,字符串xml或标点符号开头。阅读更多http://www.w3schools.com/xml/xml_elements.asp

+1

下划线是允许的。只是没有数字(而不是字符串'xml')。 –

+0

感谢您的纠正。我编辑答案更准确。 –

+0

实际上字符串“xml”被允许作为元素名称;它只是气馁,留待将来使用。解析器将允许您使用它,但您将面临规则未来可能发生变化的风险。 –

0

我认为在生成xml时发生错误。 只需使用w3验证器验证此xml即可。共有7个差错发现之一是:

4号线,5列:字符“<”是一个分隔符的第一个字符,只是当作数据 < 309>敏捷的棕色狐狸跳过了事先准备好的声明。 ✉ 此消息可能会出现几种情况: 您试图在您的页面中的“<”字:你应该转义为“<” 您使用转义符号“&”:这可能是在某些情况下有效,但建议使用始终安全的“&”。 另一种可能性是您忘记关闭前一个标签中的引号。

听到的是的w3validator

链接所以,我认为解决居住在XML中生成的代码。