擅长:python、mysql、java
<p>以下是如何使用ElementTree修改XML文件,而不会意外破坏它:</p>
<pre><code>import xml.etree.cElementTree as ET
import time
ts = str(int(time.time()))
doc = ET.parse('singleoutbound.xml')
for elem in doc.iterfind('//*[@OrderName]'):
elem.attrib['OrderName'] = ts
# and so on
doc.write('singleoutbound_2.xml')
</code></pre>
<p>需要了解的事项:</p>
<ul>
<li>XML表示由元素、属性和值等组成的树形数据结构。将其视为基于行的纯文本无法识别这一事实。在</li>
<li>有一种语言可以从数据树中选择项,称为XPath。它很强大,而且不难学。学习它。我已经使用上面的<code>//*[@OrderName]</code>来查找具有<code>OrderName</code>属性的所有元素。在</li>
<li>尝试使用不适当的工具(如字符串替换和正则表达式)修改文档树将导致代码更加复杂和难以维护。对于正则表达式没有特殊情况的完全有效输入,您将遇到运行时错误、字符编码问题和静默错误,这些错误只有在有人查看程序输出时才会被捕获。换言之:这样做是错误的,所以不要这样做。在</li>
<li>上面的代码实际上比您的代码更简单,更容易推理和扩展。在</li>
</ul>