Why can't I update my XML file using Python?

60 Views Asked by At

I need to update some values in this XML file(i need to change the text, like 0.0 and other values):

<?xml version="1.0" encoding="ISO-8859-1"?>

<Variables checksum="a683855007" xsi:schemaLocation="http://www.astos.de/schema/astos/9.17/scenario Scenario.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.astos.de/schema/astos/9.17/scenario">

<Variable type="Floating Point Value" name="DaysToAddForStartingDate">0.0</Variable>

<Variable type="Floating Point Value" name="GS_Altitude">0.0</Variable>

<Variable type="Floating Point Value" name="GS_Latitude">0.0</Variable>

<Variable type="Floating Point Value" name="GS_Longitude">0.0</Variable>

<Variable type="Floating Point Value" name="InclinationLLO">75.0</Variable>

<Variable type="Floating Point Value" name="InitialArgOfPeriapsis">10.0</Variable>

<Variable type="Floating Point Value" name="InitialRAAN">20.0</Variable>

<Variable type="Floating Point Value" name="InitialTrueAnomaly">30.0</Variable>

<Variable type="Floating Point Value" name="Initial_Apoapsis">101.0</Variable>

<Variable type="Floating Point Value" name="Initial_Periapsis">100.0</Variable>

<Variable type="Floating Point Value" name="Isp">453.0</Variable>

<Variable type="Floating Point Value" name="Nozzle_Ae">1.471</Variable>

<Variable type="Floating Point Value" name="Phase10_PitchConstant_Time">5.0</Variable>

<Variable type="Floating Point Value" name="Phase10_Throttle_PitchConstant">1.0</Variable>

<Variable type="Floating Point Value" name="Phase11_BurnToLLOTime">120.0</Variable>

<Variable type="Floating Point Value" name="Phase11_Throttle_BurnToLLO">1.0</Variable>

<Variable type="Floating Point Value" name="Phase12_CoastToLLOTime">200.0</Variable>

<Variable type="Floating Point Value" name="Phase12_TargetAltitude">100.0</Variable>

<Variable type="Floating Point Value" name="Phase12_TargetInclination">70.0</Variable>

<Variable type="Floating Point Value" name="Phase13_CircLLO_Time">1000.0</Variable>

<Variable type="Floating Point Value" name="Phase1_LLOInitialTime">2910.0</Variable>

<Variable type="Floating Point Value" name="Phase1_Pitch">0.0</Variable>

<Variable type="Floating Point Value" name="Phase1_Yaw">-15.0</Variable>

<Variable type="Floating Point Value" name="Phase2_BurnTime">35.0</Variable>

<Variable type="Floating Point Value" name="Phase2_TargetPeriapsisToReduce">0.5</Variable>

<Variable type="Floating Point Value" name="Phase2_Throttle_DecreasingPeriapsis">1.0</Variable>

<Variable type="Floating Point Value" name="Phase3_CoastToPeriapsisTime">2560.0</Variable>

<Variable type="Floating Point Value" name="Phase3_FinalPitchToDecrApo">0.0</Variable>

<Variable type="Floating Point Value" name="Phase3_FinalYawToDecrApo">207.0</Variable>

<Variable type="Floating Point Value" name="Phase3_TargetAltitudeToDecreaseApoapsis">30.0</Variable>

<Variable type="Floating Point Value" name="Phase4_DecreaseApoTime">200.0</Variable>

<Variable type="Floating Point Value" name="Phase4_TargetApoapsis">40.0</Variable>

<Variable type="Floating Point Value" name="Phase4_Throttle_DecreaseApoapsis">1.0</Variable>

<Variable type="Floating Point Value" name="Phase5_CoastToImpactTime">50.0</Variable>

<Variable type="Floating Point Value" name="Phase5_FinalPitchToBrake">10.0</Variable>

<Variable type="Floating Point Value" name="Phase5_FinalYawToBrake">205.0</Variable>

<Variable type="Floating Point Value" name="Phase5_TargetAltitudeToBrake">15.0</Variable>

<Variable type="Floating Point Value" name="Phase6_BrakingTime">500.0</Variable>

<Variable type="Floating Point Value" name="Phase6_TargetImpactAltitude">0.0</Variable>

<Variable type="Floating Point Value" name="Phase6_Throttle_Braking">1.0</Variable>

<Variable type="Floating Point Value" name="Phase7_DesiredYawForLaunch">27.0</Variable>

<Variable type="Floating Point Value" name="Phase7_TimeOnMoon">1.0</Variable>

<Variable type="Floating Point Value" name="Phase8_LiftOffTime">5.0</Variable>

<Variable type="Floating Point Value" name="Phase8_ThrottleLiftOff">1.0</Variable>

<Variable type="Floating Point Value" name="Phase9_FinalPitch">82.5</Variable>

<Variable type="Floating Point Value" name="Phase9_PitchOverTime">10.0</Variable>

<Variable type="Floating Point Value" name="Phase9_ThrottlePitchOver">1.0</Variable>

<Variable type="Floating Point Value" name="PropMass_TankLander">26715.0</Variable>

<Variable type="Floating Point Value" name="StructMassTankLander">1008.0</Variable>

<Variable type="Floating Point Value" name="Total_Payload_Mass" minValue="0.0">16333.0</Variable>

<Variable type="Floating Point Value" name="VacThrust">200.0</Variable>

</Variables>

I tried to use this code to change one of the values, but nothing happened:

import xml.etree.ElementTree as ET


mytree=ET.parse("homotopy.xml",parser=ET.XMLParser(encoding='iso-8859-1'))

myroot=mytree.getroot()

ET.register_namespace('','http://www.astos.de/schema/astos/9.17/scenario')

print(myroot[0].text)

for elem in myroot[0].iter("Variable"):
    elem.text = "90.0"

mytree=ET.ElementTree(myroot)

mytree.write("homotopy.xml")

print(myroot[0].text)

I would like to know where the problem is and how to fix it. I'm new to Python so please try to explain in a easy way. Thanks to everyone answering my question!

0

There are 0 best solutions below