2010-10-18 20 views
3

如何使用空格的createElement在創建XML文件PHP DOM的createElement - 讓空間

我不得不使用

$main = $doc->createElement("$cname"."Data"); 

其中

$cname="Company Name" 

但由於空間在$cname,我出現以下錯誤,

Fatal error: Uncaught exception 'DOMException' with message 'Invalid Character Error' in file.php:50 Stack trace: #0 file.php(50): DOMDocument->createElement('geosoft company...') #1 {main} thrown in file.php on line 50

如何糾正?

問候, 雷卡

+1

Ha你有沒有看過一個XML文檔,其中包含像 ...這樣的元素? ;)所以你必須「刪除」空間... – 2010-10-18 08:30:18

回答

5

根據http://www.w3.org/TR/2008/REC-xml-20081126/#NT-NameChar元素名稱只能由下列字符的

NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]

NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]

可能的選擇:

$main = $doc->createElement("Data"); 
$main->setAttribute('origin', $cname); 

您可能也有興趣在xml namespaces

+0

非常感謝 – Rekha 2010-10-18 08:30:07