2010-11-13 115 views
0

使用DomIt解析有效的XHTML文檔。XML DomIt將&轉換爲&

出於某種原因,Domit正在恢復有效的&鏈接到普通的&,這打破了驗證。

我會期待相反的方式,如果有任何修復。

這是原來的標籤:

<link href="index.php?format=feed&amp;type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" /> 

這是解析後的同一標籤:

<link href="index.php?format=feed&type=atom" rel="alternate" type="application/atom+xml" title="Atom 1.0" /> 

這是相關代碼:

$expansionExceptions = array('br', 'col', 'hr', 'img', 'input', 'link', 'meta', 'param', 'command', 'keygen'); 
$xml =& new DOMIT_Document(); 
$xml->expandEmptyElementTags(true, $expansionExceptions); 
$xml->parseXML($htmlData); 
$xml->toString(false); 

任何線索?

回答

0

所有內部字段,導入參數和測試頁面都給出相同的結果。這似乎是一個錯誤或不好的實現。

最新版本是從2005年;如果可能的話,我會切換到另一個解析器,或嘗試使用字符串操作來修復它。

+0

嗨鴨,正如我所說的問題是相反的。 我的XML正確地用&解析爲& 經過DOMiT處理後,我所有的&變成&。 – 2010-11-19 11:35:17

+0

哦,對不起,我的壞。這真的很奇怪。我一整天都在研究它,嘗試了不同的選擇,什麼都沒有。它在測試文檔上的表現也一樣。這似乎是一個執行錯誤。我看到受此問題困擾的開源項目已經轉移到其他解析器。如果可能的話,使用一些字符串操作來糾正這個問題也許是最好的選擇,或者考慮到最新版本是從2005年開始的,並且解析器現在更好。 – SuperDuck 2010-11-19 16:26:04

+0

編輯答案刪除不相關的信息=) – SuperDuck 2010-11-19 16:37:40