2016 Update
This commit is contained in:
parent
948b86eafa
commit
dcf5d15da3
7965 changed files with 139854 additions and 31002 deletions
66
Task/XML-XPath/Bracmat/xml-xpath.bracmat
Normal file
66
Task/XML-XPath/Bracmat/xml-xpath.bracmat
Normal file
|
|
@ -0,0 +1,66 @@
|
|||
{Retrieve the first "item" element}
|
||||
( nestML$(get$("doc.xml",X,ML))
|
||||
: ?
|
||||
( inventory
|
||||
. ?,? (section.?,? ((item.?):?item) ?) ?
|
||||
)
|
||||
?
|
||||
& out$(toML$!item)
|
||||
)
|
||||
|
||||
{Perform an action on each "price" element (print it out)}
|
||||
( nestML$(get$("doc.xml",X,ML))
|
||||
: ?
|
||||
( inventory
|
||||
. ?
|
||||
, ?
|
||||
( section
|
||||
. ?
|
||||
, ?
|
||||
( item
|
||||
. ?
|
||||
, ?
|
||||
( price
|
||||
. ?
|
||||
, ?price
|
||||
& out$!price
|
||||
& ~
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
|
|
||||
)
|
||||
|
||||
{Get an array of all the "name" elements}
|
||||
( :?anArray
|
||||
& nestML$(get$("doc.xml",X,ML))
|
||||
: ?
|
||||
( inventory
|
||||
. ?
|
||||
, ?
|
||||
( section
|
||||
. ?
|
||||
, ?
|
||||
( item
|
||||
. ?
|
||||
, ?
|
||||
( name
|
||||
. ?
|
||||
, ?name
|
||||
& !anArray !name:?anArray
|
||||
& ~
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
)
|
||||
?
|
||||
| out$!anArray {Not truly an array, but a list.}
|
||||
);
|
||||
31
Task/XML-XPath/PowerShell/xml-xpath-1.psh
Normal file
31
Task/XML-XPath/PowerShell/xml-xpath-1.psh
Normal file
|
|
@ -0,0 +1,31 @@
|
|||
$document = [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>
|
||||
'@
|
||||
|
||||
$query = "/inventory/section/item"
|
||||
$items = $document.SelectNodes($query)
|
||||
1
Task/XML-XPath/PowerShell/xml-xpath-2.psh
Normal file
1
Task/XML-XPath/PowerShell/xml-xpath-2.psh
Normal file
|
|
@ -0,0 +1 @@
|
|||
$items[0]
|
||||
2
Task/XML-XPath/PowerShell/xml-xpath-3.psh
Normal file
2
Task/XML-XPath/PowerShell/xml-xpath-3.psh
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
$namesAndPrices = $items | Select-Object -Property name, price
|
||||
$namesAndPrices
|
||||
1
Task/XML-XPath/PowerShell/xml-xpath-4.psh
Normal file
1
Task/XML-XPath/PowerShell/xml-xpath-4.psh
Normal file
|
|
@ -0,0 +1 @@
|
|||
$items.price
|
||||
1
Task/XML-XPath/PowerShell/xml-xpath-5.psh
Normal file
1
Task/XML-XPath/PowerShell/xml-xpath-5.psh
Normal file
|
|
@ -0,0 +1 @@
|
|||
$items.name
|
||||
Loading…
Add table
Add a link
Reference in a new issue