作者sbrhsieh (sbr)
看板Python
标题Re: [问题] minidom使用问题
时间Thu Jun 18 01:13:00 2009
※ 引述《Aligu1009 (=.=)》之铭言:
: 假设我有个简单的 xml file 如下:
: <?xml version="1.0"?>
: <level0>
: <level1-1>wahaha
: <level2-1>gogogo</level2-1>
: <level2-2>runrun</level2-2>
: </level1-1>
: <level1-2>keroro</level1-2>
: </level0>
: 当我用:
: xmldoc = xml.dom.minidom.parse(fileName)
: print xmldoc.childNodes[0].childNodes[0].toxml()
: print xmldoc.childNodes[0].childNodes[1].toxml()
: print xmldoc.childNodes[0].childNodes[2].toxml()
: print xmldoc.childNodes[0].childNodes[3].toxml()
: print xmldoc.childNodes[0].childNodes[4].toxml()
: 为什麽 childNodes[0], childNodes[2], childNodes[4]印出来都只有换行 (\n)
: 而childNodes[1]和childNodes[3]才会印出东西呢?
: 我以为 len(xmldoc.childNodes[0].childNodes) 应该是 2
: 分别是 <level1-1>到</level1-1> 及 <level1-2>到</level1-2>两者而已
: 请问是我观念哪里有问题吗?谢谢
whitespace(包括 '\n')在 XML 里是 significant。
<level1-1>...</level1-1> 这个 node 的第一个 child node 是 Text node,
其 nodeValue(a String) 是 'wahaha\n ' instead of 'wahaha'。
同样的 <level0>...</level0> 的第一个 child node 也是个 Text node。
node 与 node 之间(> 与 <)不是紧邻的话,他就是有个 child node 在其中。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.173.143.55
1F:推 Aligu1009:tks, pretty clear. 10/28 20:09