1

XML 構文を持つファイルを変更しようとしています

<!DOCTYPE xml>
<lrf instance_prefix="U" pdescription="Type:%20DDR2%20SDRAM;&#xa;Density:%204Gb;&#xa;Data:%20x16;&#xa;Banks:%208;&#xa;Configuration:%2016M%20x%2016%20x%208;&#xa;Voltage:%201.8V;&#xa;Standard:%20JEDEC;&#xa;Pins:%2084;&#xa;Package:%20FBGA;&#xa;Package%20Standard:%20MO-207;%20Package%20Variation:%20DK-z;&#xa;Die:%20Single%20Die(SD)%20Package;&#xa;Target%20Device%20Family:%20Virtex-7;" unit="mm" target_family="V7" jedec_type="ddr2_sdram_mo207_dk_z" y_offset="0" interface_type="NormalInterface" x_offset="0" model_constraint="same_vccaux" pin_size="0.45">
 <group group_number="1" group_name="Address_Control" group_constraint="memory_address" group_color="#9accff">
  <pin pin_number="M8" pin_type="Input" pin_standard="SSTL18_II" pin_x_loc="5.6" signal_name="A&lt;0>" pin_y_loc="2.4" symbol_pin_name="DDR2_SDRAM_A&lt;0>"/>
  <pin pin_number="M3" pin_type="Input" pin_standard="SSTL18_II" pin_x_loc="1.6" signal_name="A&lt;1>" pin_y_loc="2.4" symbol_pin_name="DDR2_SDRAM_A&lt;1>"/>
  .
  .
  .
 </group>
 <group group_number="4" group_name="Power" group_color="#ff0000">
  <pin pin_number="A1" pin_type="Supply" pin_voltage="1.8" pin_x_loc="0" signal_name="VDD" pin_y_loc="11.2" symbol_pin_name="VDD"/>
  <pin pin_number="E1" pin_type="Supply" pin_voltage="1.8" pin_x_loc="0" signal_name="VDD" pin_y_loc="8" symbol_pin_name="VDD"/>
  <pin pin_number="J9" pin_type="Supply" pin_voltage="1.8" pin_x_loc="6.4" signal_name="VDD" pin_y_loc="4.8" symbol_pin_name="VDD"/>
  .
  .
  .
 </group>
.
.
</lrf> 

私の仕事は、値が「VDD」の signal_name を探し、存在する場合は<pin .... />ノード全体を削除することです。上記のタスクの後、グループ ノードに使用可能な要素がない場合は、<group....> </group>ノードを削除します。

XML::Simple を使用してこのタスクを試してみましたが、要素によって順序が変化し続けます。そこで、XML::LibXML を使用してタスクを完了しようとしています。LibXMLを使用してタスクを完了する方法について、誰でも光を当てることができますか? どんな助けでも大歓迎です。ありがとう

4

0 に答える 0