2
非常簡單的問題。鑑於串Python的ElementTree.XML()和ElementTree.fromstring有什麼區別?
s = "<blah x='true'><img src='a.jpg' /><a><b></b></a></blah>"
以下兩個蟒蛇命令產生相同的輸出:
>>> E.tostring(E.fromstring(s))
'<blah x="true"><img src="a.jpg" /><a><b /></a></blah>'
>>> E.tostring(E.XML(s))
'<blah x="true"><img src="a.jpg" /><a><b /></a></blah>'
那麼,爲什麼有兩個命令呢?我注意到在ElementTree的Python 2.7文檔中,fromstring()
的引用包含短語「與XML()相同」。所以,如果它是相同的,爲什麼包括它?
我注意到的唯一區別是,最近的Python版本增加了可選的parser
參數XML()
而不是fromstring()
。爲什麼?實際上,這些命令的工作方式實際上存在細微差別,或者存在兩個顯然相同的命令的原因?這只是爲了方便嗎?
呵呵。我認爲一個免費功能的想法是有道理的。任何想法爲什麼函數簽名不同,'fromstring'缺少可選的'parser' arg?它看起來應該支持它,如果它真的被定義爲'XML'的別名。 –
@KenB它不會是一個補充功能,如果它採取額外的參數。因爲當你需要傳遞額外的參數時,你可以直接調用'XML'函數。 –
@KenB由於'fromstring'被定義爲'XML'的直接別名,所以你可以傳遞額外的參數給它。它只是沒有在文檔中提到,可能不鼓勵以這種方式使用它。 –