createElement参数的第一个字符不能是数字
ExpatError: not well-formed (invalid token): line 2, column 1
今天在编写xml文件时发现使用minidom写的xml文件没办法读取,提示上面的错误,网上搜索了很久都说跟编码有关,可检查来检查去,编码都是‘utf-8’,没错啊··· 整了好久都不行,于是就一条一条结点的往文件里写,后来让我发现createElement创建时,后面的字符串如果第一个字符是数字,就会出现该问题,于是把所有结点都检查一编,去处那种情况,果真文件可以正常读取了····
from xml.dom import minidomdoc = minidom.Document()node = doc.createElement('test') node.setAttribute('你好', '我好')doc.appendChild(node)f = open(r'11.xml', 'w')doc.writexml(f, "", "\t", "\n", "utf-8")f.close()doc = minidom.parse(r'11.xml')print doc.toxml()
这样的xml是无法读取的
<?xml version="1.0" encoding="utf-8"?>
<1test 你好="我好"/>这个就可以读取
<?xml version="1.0" encoding="utf-8"?>
<test 你好="我好"/>