在minidom中将整数写入XML节点

时间:2012-11-09 19:05:38

标签: python xml minidom

我在Python中使用minidom为已完成的任务创建XML格式的日志文件。部分过程是将文件的上次修改时间与文件数据记录到日志中的时间进行比较。我打算通过以下方式做到这一点:

if modTime < recTime:
  do_something()

例如,foo.pdf在上午10:40被修改,然后在上午10:46,日志记录了foo.pdf的修改时间。所以log 的一部分应该看起来像这样:

<Printed Orders>
  <foo.pdf>
    <Date Recorded>
      1352486780
    </Date Recorded>
  </foo.pdf>

但是,当我尝试将整数格式的时间写入XML文件时,我收到错误:

TypeError: node contents must be a string

所以,我的问题是:
有没有办法将整数写入XML文件? (最好使用minidom来减少我的脚本与更多的进口混乱)

如果没有,是否有更好的方法来比较我从文件本身提取的修改时间和从XML文件中提取的记录时间,而不是将记录的时间转换为字符串,写入XML文件,拉动rec时间稍后从XML文件中,然后将该字符串转换回整数?

另外,如果您想知道,计划是每天清除一次目录,根据自己的mod / rec时间比较删除foo.pdf和其他文件。如果自foo.pdf输入日志后未对{{1}}进行修改,则会将其删除。

谢谢!

1 个答案:

答案 0 :(得分:0)

看看你期望的输出。如果XML是整数或字符串,XML将如何知道。通常使用XML,您必须使用标记来说明所有内容。因此,一切都被视为一个字符串。

您不需要将字符串转换为int,除非另一个时间是int,因为时间字符串不会变得比现在长很长时间(超过3000年)。但是,我不确定你为什么不喜欢这种转换。如果它真的很重要,请使用JSON。