非常直截了当的问题。给出字符串
s = "<blah x='true'><img src='a.jpg' /><a><b></b></a></blah>"
以下两个python命令都会产生相同的输出:
>>> 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()
。为什么?命令的工作方式是否存在细微的差别,或者为什么有两个命令显然是相同的?这只是为了方便吗?
答案 0 :(得分:2)
fromstring
与XML
完全相同。事实上,它定义如下:
##
# Parses an XML document from a string constant. Same as {@link #XML}.
#
# @def fromstring(text)
# @param source A string containing XML data.
# @return An Element instance.
# @defreturn Element
fromstring = XML
您可以查看来源here。我认为它是tostring
函数的补充。