如何用列表中的值替换 XML 值

我正在尝试使用 python 列表中的新开始时间更新 XML 文件中的开始时间。这是 XML 的示例(列表中有 9 个订单)


    <ppr:Group name="Order lists">

        <ppr:ProductionProgram ppr:id="1">

         <ppr:name>firmOrders</ppr:name>

         <ppr:Order ppr:id="1|19077013">

            <ppr:number>M742019552</ppr:number>

            <ppr:startTime>2019-10-28T06:45:00</ppr:startTime>

            <ppr:property name="Line code" value="G" metadata="true" />

            <ppr:modelRef refBy="pprId">M1|19077013</ppr:modelRef>

         </ppr:Order>

我有一个新开始时间的列表


    newtimes = ['2020-03-16T08:00:02', '2020-03-16T08:00:03'] ect...

我知道如何使用 xml 开始时间值,


    for x in productionprogram.iter('{http://ManHub.PPRData}startTime'):

        x.text = 

只是不确定将其设置为什么=...按顺序用“newtimes”替换值的东西


SMILET
浏览 140回答 1
1回答

阿晨1998

您的问题与其说是关于如何“替换 XML 值”,不如说是关于如何“跟踪”您在循环内迭代了多少次。你想要的是enumerate()。让我们用一个简单的例子来试试看。我有一个包含星期几及其名称的文件,名为week.xml:<week>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Monday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Tuesday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Wednesday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Thursday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Friday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Saturday</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>Sunday</name>&nbsp; &nbsp; </day></week>让我们使用值列表替换它们的名称:import xml.etree.ElementTree as ETtree = ET.parse('week.xml')root = tree.getroot()short_days = ['MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT', 'SUN']for idx, day in enumerate(root.findall("day")):&nbsp; &nbsp; day.find("name").text = short_days[idx]tree.write("short_week.xml")这是名为short_week.xml的新文件:<week>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>MON</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>TUE</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>WED</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>THU</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>FRI</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>SAT</name>&nbsp; &nbsp; </day>&nbsp; &nbsp; <day>&nbsp; &nbsp; &nbsp; &nbsp; <name>SUN</name>&nbsp; &nbsp; </day></week>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python