2014-09-23 72 views
-4

我想導出數據庫到XML,我使用的電子郵件地址作爲關鍵的DATAS:@在XML標籤名

<?xml version="1.0"?> 
<DS> 
    <[email protected]> 
     <name>remrem</name> 
     <email>[email protected]</email> 
     <datetime>2014-09-23 07:41:57</datetime> 
     <lang>fr</lang> 
    </[email protected]> 
    <[email protected]> 
     <name>remrem</name> 
     <email>[email protected]</email> 
     <datetime>2014-09-23 07:41:57</datetime> 
     <lang>fr</lang> 
    </[email protected]> 
</DS> 

但在閱讀此出口,我一直因爲在「@」的錯誤鑰匙。 有人有我的解決方案? 轉義「@」? 使用另一個鍵? (保持電子郵件關鍵是更好的適合我)

僅供參考,我使用PHP(的SimpleXMLElement)

謝謝!

+1

爲什麼不'測試 ...'這樣?順便說一下,這是不是一個CSV,它的XML – Ghost 2014-09-23 08:04:05

+3

另外這款以csv,但XML – fejese 2014-09-23 08:04:49

+0

呀CSV是逗號分隔值(能如果你願意,實際上可以用另一個分隔符分隔)。顯示你的PHP代碼。 – Jonathon 2014-09-23 08:06:01

回答

1

您不應該在XML標記中使用值。正確的方法是:

<?xml version="1.0"?> 
<DS> 
    <userdetails> 
     <name>remrem</name> 
     <email>[email protected]</email> 
     <datetime>2014-09-23 07:41:57</datetime> 
     <lang>fr</lang> 
    </userdetails> 
    <userdetails> 
     <name>remrem</name> 
     <email>[email protected]</email> 
     <datetime>2014-09-23 07:41:57</datetime> 
     <lang>fr</lang> 
    </userdetails> 
</DS> 

只有五個XML特殊字符:&lt;(<),&amp;(&),&gt;(>),&quot;(「),並&apos;(')然而,標籤名稱是一個以字母或少數標點符號開頭並以字母,數字,連字符,下劃線,冒號或完全停止符號結尾的令牌,一起稱爲名稱字符,或者更精確:

NameChar ::= Letter | Digit | '.' | '-' | '_' | ':' | CombiningChar | Extender 
Name ::= (Letter | '_' | ':') (NameChar)* 

它可以得到相當複雜,但爲了簡單起見,您只需堅持使用HTML和幾乎所有使用變量名稱的編程語言。

僅使用標籤來標識他們擁有的內容的類型。

+0

我可以有多個? – RemRem 2014-09-23 08:13:39

+0

@RemRem是的,你可以有 – Ghost 2014-09-23 08:17:40

+0

好,很好,謝謝! – RemRem 2014-09-23 08:20:26