Represent XML

Sbaush <[email protected]>
Newsgroups gmane.comp.python.xml
Message-ID <[email protected]>
Hi all.
I attach to you a example XML file to parse and the demo of my objective.
The iptRequest.xml is the file to parse in one mode. I can't parse it.
The demo.py is my ideal result, manually built, that should be built by
parsing the XML.
How can i do to do it?
Bye all!

--
Sbaush

_______________________________________________
XML-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/xml-sig
demo.py (text/x-python, 4.2 KB)
#!/usr/bin/env python
# -*- coding: ISO-8859-15 -*-
# generated by wxGlade 0.4 on Fri Jan 27 12:24:48 2006

from wxPython.wx import *
from wxPython.grid import *

class MyFrame(wxFrame):
    def __init__(self, *args, **kwds):
        # begin wxGlade: MyFrame.__init__
        kwds["style"] = wxDEFAULT_FRAME_STYLE
        wxFrame.__init__(self, *args, **kwds)
        self.grid_1 = wxGrid(self, -1, size=(1, 1))

        self.__set_properties()
        self.__do_layout()
        # end wxGlade

    def __set_properties(self):
        # begin wxGlade: MyFrame.__set_properties
        self.SetTitle("frame_1")
        self.SetSize(wxDLG_SZE(self, (390, 136)))
        self.grid_1.CreateGrid(8, 8)
        self.grid_1.EnableDragColSize(0)
        self.grid_1.SetColLabelValue(0, "Chain")
        self.grid_1.SetColLabelValue(1, "Policy")
        self.grid_1.SetColLabelValue(2, "Num")
        self.grid_1.SetColLabelValue(3, "Target")
        self.grid_1.SetColLabelValue(4, "Protocol")
        self.grid_1.SetColLabelValue(5, "Option")
        self.grid_1.SetColLabelValue(6, "Source")
        self.grid_1.SetColLabelValue(7, "Destination")
        self.grid_1.SetMinSize(wxDLG_SZE(self.grid_1, (387, 150)))
        # end wxGlade
	
	self.grid_1.SetCellValue(0,0,"INPUT")
	self.grid_1.SetCellValue(1,0,"INPUT")
	self.grid_1.SetCellValue(2,0,"INPUT")
	self.grid_1.SetCellValue(3,0,"OUTPUT")
	self.grid_1.SetCellValue(4,0,"OUTPUT")
	self.grid_1.SetCellValue(5,0,"OUTPUT")
	self.grid_1.SetCellValue(6,0,"FORWARD")
	self.grid_1.SetCellValue(7,0,"FORWARD")
	
	self.grid_1.SetCellValue(0,1,"ACCEPT")
	self.grid_1.SetCellValue(1,1,"ACCEPT")
	self.grid_1.SetCellValue(2,1,"ACCEPT")
	self.grid_1.SetCellValue(3,1,"ACCEPT")
	self.grid_1.SetCellValue(4,1,"ACCEPT")
	self.grid_1.SetCellValue(5,1,"ACCEPT")
	self.grid_1.SetCellValue(6,1,"ACCEPT")
	self.grid_1.SetCellValue(7,1,"ACCEPT")
	
	self.grid_1.SetCellValue(0,2,"1")
	self.grid_1.SetCellValue(1,2,"2")
	self.grid_1.SetCellValue(2,2,"3")
	self.grid_1.SetCellValue(3,2,"1")
	self.grid_1.SetCellValue(4,2,"2")
	self.grid_1.SetCellValue(5,2,"3")
	self.grid_1.SetCellValue(6,2,"1")
	self.grid_1.SetCellValue(7,2,"2")
	
	self.grid_1.SetCellValue(0,3,"ACCEPT")
	self.grid_1.SetCellValue(1,3,"ACCEPT")
	self.grid_1.SetCellValue(2,3,"ACCEPT")
	self.grid_1.SetCellValue(3,3,"ACCEPT")
	self.grid_1.SetCellValue(4,3,"ACCEPT")
	self.grid_1.SetCellValue(5,3,"ACCEPT")
	self.grid_1.SetCellValue(6,3,"ACCEPT")
	self.grid_1.SetCellValue(7,3,"ACCEPT")
	
	self.grid_1.SetCellValue(0,4,"icmp")
	self.grid_1.SetCellValue(1,4,"tcp")
	self.grid_1.SetCellValue(2,4,"udp")
	self.grid_1.SetCellValue(3,4,"icmp")
	self.grid_1.SetCellValue(4,4,"icmp")
	self.grid_1.SetCellValue(5,4,"icmp")
	self.grid_1.SetCellValue(6,4,"icmp")
	self.grid_1.SetCellValue(7,4,"udp")
	
	self.grid_1.SetCellValue(0,5,"--")
	self.grid_1.SetCellValue(1,5,"--")
	self.grid_1.SetCellValue(2,5,"--")
	self.grid_1.SetCellValue(3,5,"--")
	self.grid_1.SetCellValue(4,5,"--")
	self.grid_1.SetCellValue(5,5,"--")
	self.grid_1.SetCellValue(6,5,"--")
	self.grid_1.SetCellValue(7,5,"--")
	
	self.grid_1.SetCellValue(0,6,"localhost.localdomain")
	self.grid_1.SetCellValue(1,6,"127.0.0.3")
	self.grid_1.SetCellValue(2,6,"127.0.0.3")
	self.grid_1.SetCellValue(3,6,"localhost.localdomain")
	self.grid_1.SetCellValue(4,6,"127.0.0.2")
	self.grid_1.SetCellValue(5,6,"127.0.0.3")
	self.grid_1.SetCellValue(6,6,"localhost.localdomain")
	self.grid_1.SetCellValue(7,6,"127.0.0.3")
	
	self.grid_1.SetCellValue(0,7,"anywhere")
	self.grid_1.SetCellValue(1,7,"anywhere")
	self.grid_1.SetCellValue(2,7,"anywhere")
	self.grid_1.SetCellValue(3,7,"anywhere")
	self.grid_1.SetCellValue(4,7,"anywhere")
	self.grid_1.SetCellValue(5,7,"anywhere")
	self.grid_1.SetCellValue(6,7,"anywhere")
	self.grid_1.SetCellValue(7,7,"anywhere")
    def __do_layout(self):
        # begin wxGlade: MyFrame.__do_layout
        sizer_1 = wxBoxSizer(wxVERTICAL)
        sizer_1.Add(self.grid_1, 1, wxEXPAND, 0)
        self.SetAutoLayout(True)
        self.SetSizer(sizer_1)
        self.Layout()
        # end wxGlade

# end of class MyFrame


if __name__ == "__main__":
    app = wxPySimpleApp(0)
    wxInitAllImageHandlers()
    frame_1 = MyFrame(None, -1, "")
    app.SetTopWindow(frame_1)
    frame_1.Show()
    app.MainLoop()
iptRequest.xml (text/xml, 1.2 KB)
<!DOCTYPE meshap-manager SYSTEM "MeshAP.dtd">
<meshap-manager>
  <iptables-response>
    <listtable>
      <table chain="INPUT" policy="ACCEPT">
        <rule num="1" target="ACCEPT" protocol="icmp" option="--" source="localhost.localdomain" destination="anywhere"/>
        <rule num="2" target="ACCEPT" protocol="tcp" option="--" source="127.0.0.3" destination="anywhere"/>
        <rule num="3" target="ACCEPT" protocol="udp" option="--" source="127.0.0.3" destination="anywhere"/>
      </table>
      <table chain="FORWARD" policy="ACCEPT">
        <rule num="1" target="ACCEPT" protocol="icmp" option="--" source="localhost.localdomain" destination="anywhere"/>
        <rule num="2" target="ACCEPT" protocol="icmp" option="--" source="127.0.0.2" destination="anywhere"/>
        <rule num="3" target="ACCEPT" protocol="icmp" option="--" source="127.0.0.3" destination="anywhere"/>
      </table>
      <table chain="OUTPUT" policy="ACCEPT">
        <rule num="1" target="ACCEPT" protocol="icmp" option="--" source="localhost.localdomain" destination="anywhere"/>
        <rule num="2" target="ACCEPT" protocol="udp" option="--" source="127.0.0.3" destination="anywhere"/>
      </table>
    </listtable>
  </iptables-response>
</meshap-manager>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.