小编Fra*_*vey的帖子

如何在python中解析表示xml.dom.minidom节点的字符串?

我有一组使用 xml.dom.minidom 创建的节点 xml.dom.Node 对象。我通过使用 Node 对象的 toxml() 方法将它们转换为字符串,将它们(单独)存储在数据库中。

问题是我有时希望能够使用某种解析器将它们转换回适当的 Node 对象。据我所知,python 附带的各种库使用 Expat,它不会解析像 '' 这样的字符串,或者任何不是正确的 xml 字符串的字符串。

那么,有人有任何想法吗?我意识到我可以以某种方式腌制节点,然后取消它们,但这感觉不愉快,我更愿意以我可以阅读的形式存储以进行维护。肯定有什么可以做到这一点?

为了回应表示这是可能的怀疑,我的意思的一个例子:

>>> import xml.dom.minidom
>>> x=xml.dom.minidom.parseString('<a>foo<b>thing</b></a>')
>>> x.documentElement.childNodes[0]
<DOM Text node "u'foo'">
>>> x.documentElement.childNodes[0].toxml()
u'foo'
>>> xml.dom.minidom.parseString(x.documentElement.childNodes[0].toxml())
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/minidom.py", line 1928, in parseString
    return expatbuilder.parseString(string)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/expatbuilder.py", line 940, in parseString
return builder.parseString(string)
  File "/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/xml/dom/expatbuilder.py", line 223, in parseString
parser.Parse(string, True)
xml.parsers.expat.ExpatError: syntax error: line 1, column 0
Run Code Online (Sandbox Code Playgroud)

换句话说,“.toxml()”方法不会创建 Expat(因此开箱即用的 …

python xml

4
推荐指数
2
解决办法
1万
查看次数

使用时间时SUM和+之间的差异

在Office 365 Excel中,我有一个包含各种列的电子表格,例如:

00:01:39
00:00:32
00:00:44
00:03:10
Run Code Online (Sandbox Code Playgroud)

我已经检查过它们是"时间"格式.我可以使用它们添加它们+.例如,使用公式=M1 + M2 + M3 + M4但是如果我使用SUM,例如=SUM(M1:M4)我得到零(以时间格式).

我不确定我理解为什么这两个公式应该给出不同的答案.我想构建一个SUMIF所以希望能够在SUM这里使用而不是仅仅手动添加它们.出了什么问题?

excel

0
推荐指数
1
解决办法
48
查看次数

标签 统计

excel ×1

python ×1

xml ×1