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'的直接别名,所以你可以传递额外的参数给它。它只是没有在文档中提到,可能不鼓励以这种方式使用它。 –