2011-02-01 78 views
2

我正在嘗試爲某種API編寫特定的xml解析器,我想知道如果沒有像xmerl這樣的現有xml解析器,它可以工作。如何僅使用位語法來實現它是否可行?是否有任何聯機文檔顯示如何開始以這種方式解析xml?Erlang xml語法解析

回答

7

這是不可行的,XML解析器可用是有原因的,如果可行,那麼專用解析器將不存在。位語法僅適用於位/字節順序固定的情況。 XML沒有規定屬性的順序,大多數人沒有意識到XML規範並沒有強制使用同級元素的順序。因此,試圖將任何內容與位語法進行匹配,對於XML的所有可能輸入而言,只是屬性的無序性質,更不用說無序的兄弟元素。只需使用XML解析器,這不是你想死的山丘。

+1

@hyperboreean:同意以上所有。使用erlang模式匹配來幫助遍歷解析後的例如xmerl_scan:file/2 ... – 2011-02-02 16:44:11