2

很直接的问题。给定字符串

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(). 为什么?命令的工作方式实际上是否存在细微差别,或者为什么有两个命令显然相同?只是为了方便吗?

4

1 回答 1

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

您可以在此处查看来源。我认为它是对tostring功能的补充。

于 2013-01-09T17:31:15.197 回答