Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
18
Task/XML-XPath/Python/xml-xpath-1.py
Normal file
18
Task/XML-XPath/Python/xml-xpath-1.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
# Python has basic xml parsing built in
|
||||
|
||||
from xml.dom import minidom
|
||||
|
||||
xmlfile = file("test3.xml") # load xml document from file
|
||||
xmldoc = minidom.parse(xmlfile).documentElement # parse from file stream or...
|
||||
xmldoc = minidom.parseString("<inventory title="OmniCorp Store #45x10^3">...</inventory>").documentElement # alternatively, parse a string
|
||||
|
||||
# 1st Task: Retrieve the first "item" element
|
||||
i = xmldoc.getElementsByTagName("item") # get a list of all "item" tags
|
||||
firstItemElement = i[0] # get the first element
|
||||
|
||||
# 2nd task: Perform an action on each "price" element (print it out)
|
||||
for j in xmldoc.getElementsByTagName("price"): # get a list of all "price" tags
|
||||
print j.childNodes[0].data # XML Element . TextNode . data of textnode
|
||||
|
||||
# 3rd Task: Get an array of all the "name" elements
|
||||
namesArray = xmldoc.getElementsByTagName("name")
|
||||
18
Task/XML-XPath/Python/xml-xpath-2.py
Normal file
18
Task/XML-XPath/Python/xml-xpath-2.py
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
import xml.etree.ElementTree as ET
|
||||
|
||||
xml = open('inventory.xml').read()
|
||||
doc = ET.fromstring(xml)
|
||||
|
||||
doc = ET.parse('inventory.xml') # or load it directly
|
||||
|
||||
# Note, ElementTree's root is the top level element. So you need ".//" to really start searching from top
|
||||
|
||||
# Return first Item
|
||||
item1 = doc.find("section/item") # or ".//item"
|
||||
|
||||
# Print each price
|
||||
for p in doc.findall("section/item/price"): # or ".//price"
|
||||
print "{0:0.2f}".format(float(p.text)) # could raise exception on missing text or invalid float() conversion
|
||||
|
||||
# list of names
|
||||
names = doc.findall("section/item/name") # or ".//name"
|
||||
15
Task/XML-XPath/Python/xml-xpath-3.py
Normal file
15
Task/XML-XPath/Python/xml-xpath-3.py
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
from lxml import etree
|
||||
|
||||
xml = open('inventory.xml').read()
|
||||
doc = etree.fromstring(xml)
|
||||
|
||||
doc = etree.parse('inventory.xml') # or load it directly
|
||||
|
||||
# Return first item
|
||||
item1 = doc.xpath("//section[1]/item[1]")
|
||||
|
||||
# Print each price
|
||||
for p in doc.xpath("//price"):
|
||||
print "{0:0.2f}".format(float(p.text)) # could raise exception on missing text or invalid float() conversion
|
||||
|
||||
names = doc.xpath("//name") # list of names
|
||||
Loading…
Add table
Add a link
Reference in a new issue