XML : live just desired nodes in xml using python

I have a xml file, with many nodes.

I want to filter out just the nodes, in the < H> <\H> level, where there is at least 1 < M> < /M> with < V S = "0">, and inside the < V S ="0"> < P F> is between 151450 and 151550.
so for example if this is my xml:

  <H Id="1002312" W="1952.51">    <A Id="1">F</A>    <A Id="2">F</A>    <A Id="3">F</A>    <A Id="4">F</A>    <A Id="5">F</A>    <A Id="6">F</A>    <A Id="7">F</A>    <A Id="C">1</A>    <A Id="E">1</A>    <A Id="G">5</A>    <A Id="H">1</A>    <A Id="I">S</A>    <A Id="L">3</A>    <A Id="P">F</A>    <A Id="R">1</A>    <A Id="S">F</A>    <A Id="T">1</A>    <A Id="V">1</A>    <M Ind="aa" W="2257.06">      <A Id="A">71</A>      <A Id="B">T</A>      <A Id="E">4</A>      <A Id="G">G</A>      <A Id="N">1</A>      <A Id="O">8</A>      <A Id="Q">6</A>      <A Id="S">F</A>      <A Id="W">F</A>      <T Id="1">        <V S="0">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151600" T="212959" />        </V>        <V S="1">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151500" T="151559" />        </V>        <V S="50">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151300" T="151459" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151300" T="151459" />          <P F="151500" T="151559" />          <P F="151600" T="212959" />        </V>      </T>    </M>    <U Ind="zz">    </U>  </H>  <H Id="1002323" W="2201.60">    <A Id="1">F</A>    <A Id="2">F</A>    <A Id="3">T</A>    <A Id="4">T</A>    <A Id="5">T</A>    <A Id="6">T</A>    <A Id="7">T</A>    <A Id="C">1</A>    <A Id="E">4</A>    <A Id="G">3</A>    <A Id="H">2</A>    <A Id="I">S</A>    <A Id="L">8</A>    <A Id="P">T</A>    <A Id="R">1</A>    <A Id="S">F</A>    <A Id="T">2</A>    <A Id="V">1</A>    <M Ind="aa" W="1290.30">      <A Id="A">53</A>      <A Id="B">T</A>      <A Id="E">1</A>      <A Id="G">D</A>      <A Id="N">3</A>      <A Id="O">2</A>      <A Id="Q">6</A>      <A Id="S">F</A>      <A Id="W">T</A>      <T Id="1">        <V S="2">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />          <P F="205600" T="210959" />        </V>        <V S="4">          <A Id="C">2</A>          <A Id="A">A</A>          <A Id="D">G</A>          <P F="135800" T="135959" />          <P F="140200" T="140359" />          <P F="140500" T="140559" />          <P F="142600" T="142859" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />          <P F="205600" T="210959" />        </V>        <V S="65535">          <A Id="C">2</A>          <A Id="A">A</A>          <A Id="D">G</A>          <P F="135800" T="135959" />          <P F="140200" T="140359" />          <P F="140500" T="140559" />          <P F="142600" T="142859" />        </V>      </T>    </M>    <M Ind="ab" W="2454.39">      <A Id="A">53</A>      <A Id="B">F</A>      <A Id="E">2</A>      <A Id="G">D</A>      <A Id="N">3</A>      <A Id="O">6</A>      <A Id="Q">4</A>      <A Id="S">M</A>      <A Id="W">F</A>      <T Id="1">        <V S="0">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="213900" T="213959" />          <P F="215200" T="220059" />          <P F="223000" T="223059" />        </V>        <V S="2">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="200400" T="200459" />          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />        </V>        <V S="25">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="215100" T="215159" />        </V>        <V S="300">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="214100" T="214259" />        </V>        <V S="320">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="214400" T="215059" />        </V>        <V S="345">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="214000" T="214059" />        </V>        <V S="4">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="214300" T="214359" />          <P F="223100" T="223259" />        </V>        <V S="40">          <A Id="C">2</A>          <A Id="A">A</A>          <A Id="D">G</A>          <P F="152800" T="153759" />          <P F="154200" T="154559" />          <P F="154600" T="160659" />          <P F="161000" T="161759" />          <P F="162000" T="162659" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="200400" T="200459" />          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />          <P F="213900" T="213959" />          <P F="214000" T="214059" />          <P F="214100" T="214259" />          <P F="214300" T="214359" />          <P F="214400" T="215059" />          <P F="215100" T="215159" />          <P F="215200" T="220059" />          <P F="223000" T="223059" />          <P F="223100" T="223259" />          <P F="223300" T="223459" />        </V>        <V S="65535">          <A Id="C">2</A>          <A Id="A">A</A>          <A Id="D">G</A>          <P F="152800" T="153759" />          <P F="154200" T="154559" />          <P F="154600" T="160659" />          <P F="161000" T="161759" />          <P F="162000" T="162659" />        </V>        <V S="80">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="223300" T="223459" />        </V>      </T>    </M>    <M Ind="ac" W="2160.67">      <A Id="A">13</A>      <A Id="B">F</A>      <A Id="G">5</A>      <A Id="N">5</A>      <A Id="Q">2</A>      <A Id="S">M</A>      <T Id="1">        <V S="2">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="205600" T="210959" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="205600" T="210959" />        </V>      </T>    </M>    <M Ind="ad" W="2092.76">      <A Id="A">11</A>      <A Id="B">F</A>      <A Id="G">4</A>      <A Id="N">5</A>      <A Id="Q">2</A>      <A Id="S">M</A>      <T Id="1">        <V S="2">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />          <P F="205600" T="210959" />        </V>        <V S="315">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="094300" T="094759" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="094300" T="094759" />          <P F="200500" T="201259" />          <P F="201500" T="202359" />          <P F="202500" T="203159" />          <P F="203300" T="205159" />          <P F="205400" T="205559" />          <P F="205600" T="210959" />        </V>      </T>    </M>    <U Ind="zz">      <T Id="1">        <V S="0">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="213700" T="213859" />        </V>        <V S="315">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="093400" T="094259" />          <P F="120600" T="120659" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="093400" T="094259" />          <P F="120600" T="120659" />          <P F="213700" T="213859" />        </V>      </T>    </U>  </H>  <H Id="1002325" W="1917.89">    <A Id="1">F</A>    <A Id="2">F</A>    <A Id="3">F</A>    <A Id="4">F</A>    <A Id="5">F</A>    <A Id="6">F</A>    <A Id="7">F</A>    <A Id="C">1</A>    <A Id="E">1</A>    <A Id="G">5</A>    <A Id="H">1</A>    <A Id="I">S</A>    <A Id="L">3</A>    <A Id="P">F</A>    <A Id="R">1</A>    <A Id="S">F</A>    <A Id="T">2</A>    <A Id="V">2</A>    <M Ind="aa" W="1970.91">      <A Id="A">78</A>      <A Id="B">T</A>      <A Id="E">4</A>      <A Id="G">G</A>      <A Id="N">1</A>      <A Id="O">8</A>      <A Id="Q">6</A>      <A Id="S">M</A>      <A Id="W">F</A>      <T Id="1">        <V S="0">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="172400" T="204059" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="172400" T="204059" />        </V>      </T>    </M>    <U Ind="zz">    </U>  </H>    

I want the output to be just the first < H> element:

  <H Id="1002312" W="1952.51">    <A Id="1">F</A>    <A Id="2">F</A>    <A Id="3">F</A>    <A Id="4">F</A>    <A Id="5">F</A>    <A Id="6">F</A>    <A Id="7">F</A>    <A Id="C">1</A>    <A Id="E">1</A>    <A Id="G">5</A>    <A Id="H">1</A>    <A Id="I">S</A>    <A Id="L">3</A>    <A Id="P">F</A>    <A Id="R">1</A>    <A Id="S">F</A>    <A Id="T">1</A>    <A Id="V">1</A>    <M Ind="aa" W="2257.06">      <A Id="A">71</A>      <A Id="B">T</A>      <A Id="E">4</A>      <A Id="G">G</A>      <A Id="N">1</A>      <A Id="O">8</A>      <A Id="Q">6</A>      <A Id="S">F</A>      <A Id="W">F</A>      <T Id="1">        <V S="0">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151600" T="212959" />        </V>        <V S="1">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151500" T="151559" />        </V>        <V S="50">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151300" T="151459" />        </V>        <V S="65535">          <A Id="C">1</A>          <A Id="A">1</A>          <A Id="D">0</A>          <P F="151300" T="151459" />          <P F="151500" T="151559" />          <P F="151600" T="212959" />        </V>      </T>    </M>    <U Ind="zz">    </U>  </H>    

and I want to write the output XML to a file.

any of you geniuses help me?

thank you!

No comments:

Post a Comment