xml application advice

David Shapiro David.Shapiro at sas.com
Wed Jun 10 10:11:12 EDT 2009


How about using web server (tomcat jsp) and then java for the xml part, which would allow you to build a nice gui for you.  You can use python for backend work.  If you can combine some of the levels of your xml it will be easier to traverse.  I am not sure this will work for you, but I put as an example:

<project name="test">
- <inflow static="60" residual="20">

- <pipesection diameter="1.05" length="10" nodeid="H1" k="5.6" type="sprinkler">

- <pipesection diameter="1.05" length="4" nodeid="1" type="T">

- <pipesection diameter="1.05" length="6" nodeid="H2" hydraulically_most_remote="True" /> 

  </pipesection>

- <pipesection diameter="1.05" length="5" nodeid="H3" /> 

  </pipesection>
  </node>

  </pipesection>
  </node>

  </pipesection>

  </inflow>
  </project>

-----Original Message-----
From: python-list-bounces+david.shapiro=sas.com at python.org [mailto:python-list-bounces+david.shapiro=sas.com at python.org] On Behalf Of William Purcell
Sent: Wednesday, June 10, 2009 9:58 AM
To: python-list at python.org
Subject: xml application advice

I am writing a application to calculate pressure drop for a piping
network.  Namely a building sprinkler system.  This will be a
command line program at first with the system described in xml (at
least that is how I think I want to do it).

An important part of this calculation is finding the 'hydraulically
most remote' sprinkler.  This is something that I could specify with
an attribute for now and later think about how to automate it.  I
need to walk through the dom tree until I find a node of type
"sprinkler" that has an attribute of hydraulically_most_remote with
a value of True.

After I find this I need to break the itterator/for loop and then
start walking backwards keeping a running total of the pressure drop
until I reach a node that has multiple pipesections and then walk to
the end of each branch and calculate the pressure drop, and then add
them to the branch that contained the hydraulically most remote
sprinkler, and then move on, repeating this until I walk all the way
back to the inflow node.

I am having trouble finding a decent python/xml resource on the web.
I have ordered Python & XML by Jones and Drake, but I am anxious to
get something started.  The only decent online resource that I can
seem to find is

http://pyxml.sourceforge.net/topics/howto/xml-howto.html

which doesn't seem to be a very comprehensive how-to.

Do demonstrate just about everything I know about xml and python I
attached t.py and ex.xml.

Another thing that is confusing is dir(walker) does not show walker
having an attribute currentNode and dir(walker.currentNode) does not
show walker.currentNode having an attribute tagName.

Bill



More information about the Python-list mailing list