我想将数据库导出为XML,我使用电子邮件地址作为数据的关键字:
<?xml version="1.0"?>
<DS>
<dsgfsdgfdsgfdg@sg.com>
<name>remrem</name>
<email>dsgfsdgfdsgfdg@sg.com</email>
<datetime>2014-09-23 07:41:57</datetime>
<lang>fr</lang>
</dsgfsdgfdsgfdg@sg.com>
<vcxwv@sdsfg.com>
<name>remrem</name>
<email>vcxwv@sdsfg.com</email>
<datetime>2014-09-23 07:41:57</datetime>
<lang>fr</lang>
</vcxwv@sdsfg.com>
</DS>
但在阅读此导出时,由于&#34; @&#34;我总是出错。在关键。 有人有我的解决方案吗? 逃避&#34; @&#34; ? 用另一把钥匙? (保持电子邮件密钥对我来说更好)
仅供参考,我使用PHP(SimpleXMLElement)
谢谢!
答案 0 :(得分:1)
您不应在XML标记中使用值。正确的方法是:
<?xml version="1.0"?>
<DS>
<userdetails>
<name>remrem</name>
<email>dsgfsdgfdsgfdg@sg.com</email>
<datetime>2014-09-23 07:41:57</datetime>
<lang>fr</lang>
</userdetails>
<userdetails>
<name>remrem</name>
<email>vcxwv@sdsfg.com</email>
<datetime>2014-09-23 07:41:57</datetime>
<lang>fr</lang>
</userdetails>
</DS>
XML中只有五个特殊字符:<
(&lt;),&
(&amp;),>
(&gt;),"
(&# 34;)和'
(&#39;)。但是,标签名称有更多限制。标记名称是以字母或几个标点字符之一开头的标记,并且继续使用字母,数字,连字符,下划线,冒号或句点,一起称为名称字符。或者更确切地说:
NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender
Name ::= (Letter | '_' | ':') (NameChar)*
它可能变得非常复杂,但为了简单起见,只需坚持使用HTML和几乎所有使用变量名称的编程语言所知道的内容。
仅使用标记来标识其所持有的内容类型。