Thanks for your help! As it turns out, the issue was that I needed to account for the namespacing. I also revamped the code to make it a module, using the ideas that Eugene put forth.
from suds.client import Client
import xml.etree.ElementTree as ET
def getNames(url,namespace):
###Suds Call###
client = Client(url,cache=None)
response = client.service.GetSites()
### ###
response_string=str(response)
###ElementTree Parsing###
root=ET.fromstring(response_string)
siteNameTags = root.findall("{0}site/{0}siteInfo/{0}siteName".format(namespace)) #must include {0} due to namespacing (this is where I need to add generality)
### ###
siteNames=[]
for i in siteNameTags:
siteNames.append(i.text)
siteNames.sort()
return siteNames
###Example###
url="http://worldwater.byu.edu/interactive/dr/services/index.php/services/cuahsi_1_1.asmx?WSDL"
namespace="{http://www.cuahsi.org/waterML/1.1/}"
names_list= getNames(url,namespace)
for i in names_list:
print ("{0} ".format(i)) #95% sure this is necessary because of the namespacing