Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
48
Task/XML-XPath/Wren/xml-xpath-1.wren
Normal file
48
Task/XML-XPath/Wren/xml-xpath-1.wren
Normal file
|
|
@ -0,0 +1,48 @@
|
|||
import "/pattern" for Pattern
|
||||
|
||||
var doc = """
|
||||
<inventory title="OmniCorp Store #45x10^3">
|
||||
<section name="health">
|
||||
<item upc="123456789" stock="12">
|
||||
<name>Invisibility Cream</name>
|
||||
<price>14.50</price>
|
||||
<description>Makes you invisible</description>
|
||||
</item>
|
||||
<item upc="445322344" stock="18">
|
||||
<name>Levitation Salve</name>
|
||||
<price>23.99</price>
|
||||
<description>Levitate yourself for up to 3 hours per application</description>
|
||||
</item>
|
||||
</section>
|
||||
<section name="food">
|
||||
<item upc="485672034" stock="653">
|
||||
<name>Blork and Freen Instameal</name>
|
||||
<price>4.95</price>
|
||||
<description>A tasty meal in a tablet; just add water</description>
|
||||
</item>
|
||||
<item upc="132957764" stock="44">
|
||||
<name>Grob winglets</name>
|
||||
<price>3.56</price>
|
||||
<description>Tender winglets of Grob. Just add water</description>
|
||||
</item>
|
||||
</section>
|
||||
</inventory>
|
||||
"""
|
||||
|
||||
var p1 = Pattern.new("<item ")
|
||||
var match1 = p1.find(doc)
|
||||
var p2 = Pattern.new("<//item>")
|
||||
var match2 = p2.find(doc)
|
||||
System.print("The first 'item' element is:")
|
||||
System.print(" " + doc[match1.index..match2.index + 6])
|
||||
|
||||
var p3 = Pattern.new("<price>[+1^<]<//price>")
|
||||
var matches = p3.findAll(doc)
|
||||
System.print("\nThe 'prices' are:")
|
||||
for (m in matches) System.print(m.captures[0].text)
|
||||
|
||||
var p4 = Pattern.new("<name>[+1^<]<//name>")
|
||||
var matches2 = p4.findAll(doc)
|
||||
var names = matches2.map { |m| m.captures[0].text }.toList
|
||||
System.print("\nThe 'names' are:")
|
||||
System.print(names.join("\n"))
|
||||
45
Task/XML-XPath/Wren/xml-xpath-2.wren
Normal file
45
Task/XML-XPath/Wren/xml-xpath-2.wren
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import "./xsequence" for XDocument
|
||||
|
||||
var xml = """
|
||||
<inventory title="OmniCorp Store #45x10^3">
|
||||
<section name="health">
|
||||
<item upc="123456789" stock="12">
|
||||
<name>Invisibility Cream</name>
|
||||
<price>14.50</price>
|
||||
<description>Makes you invisible</description>
|
||||
</item>
|
||||
<item upc="445322344" stock="18">
|
||||
<name>Levitation Salve</name>
|
||||
<price>23.99</price>
|
||||
<description>Levitate yourself for up to 3 hours per application</description>
|
||||
</item>
|
||||
</section>
|
||||
<section name="food">
|
||||
<item upc="485672034" stock="653">
|
||||
<name>Blork and Freen Instameal</name>
|
||||
<price>4.95</price>
|
||||
<description>A tasty meal in a tablet; just add water</description>
|
||||
</item>
|
||||
<item upc="132957764" stock="44">
|
||||
<name>Grob winglets</name>
|
||||
<price>3.56</price>
|
||||
<description>Tender winglets of Grob. Just add water</description>
|
||||
</item>
|
||||
</section>
|
||||
</inventory>
|
||||
"""
|
||||
|
||||
var doc = XDocument.parse(xml)
|
||||
System.print("The first 'item' element is:")
|
||||
System.print(doc.root.element("section").element("item"))
|
||||
|
||||
var prices = []
|
||||
var names = []
|
||||
for (el in doc.root.elements) {
|
||||
for (el2 in el.elements) {
|
||||
prices.add(el2.element("price").value)
|
||||
names.add(el2.element("name").value)
|
||||
}
|
||||
}
|
||||
System.print("\nThe 'prices' are:\n%(prices.join("\n"))")
|
||||
System.print("\nThe 'names' are:\n%(names.join("\n"))")
|
||||
Loading…
Add table
Add a link
Reference in a new issue