Reputation: 23
I need to read through this xml file and count how many Representation elements there are in the first AdaptationSet, because everytime this xml is generated it can have varying amounts from 1 up to 10. I'm new to powershell and was previously using xdoc to read an xml file.
<?xml version="1.0" encoding="utf-8"?>
<MPD xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="111091661:1853125475:Ntsc" profiles="urn:mpeg:dash:profile:isoff-live:2011 urn:com:dashif:dash264" type="dynamic" availabilityStartTime="2015-07-09T18:47:42.8780481" publishTime="2015-07-09T18:47:41.7236461" minimumUpdatePeriod="PT3600S" minBufferTime="PT15S" timeShiftBufferDepth="PT60S" suggestedPresentationDelay="PT30S" maxSegmentDuration="PT1.000S" xsi:schemaLocation="urn:mpeg:dash:schema:mpd:2011 DASH-MPD.xsd" xmlns="urn:mpeg:dash:schema:mpd:2011">
<Period id="1" start="PT0S">
<AdaptationSet frameRate="30000/1001" mimeType="video/mp4" codecs="avc1.4D401E" startWithSAP="1" segmentAlignment="true">
<SegmentTemplate timescale="30000" duration="30030" startNumber="0" media="$Bandwidth$/$Number$.m4v" initialization="$Bandwidth$/0.m4s" />
<Representation width="314" height="210" id="v0" bandwidth="300000" />
<Representation width="614" height="414" id="v1" bandwidth="1150000" />
<Representation width="720" height="486" id="v2" bandwidth="2000000" />
</AdaptationSet>
<AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2" startWithSAP="1" segmentAlignment="true">
<SegmentTemplate timescale="48000" duration="48048" startNumber="0" media="audio/$Number$.m4a" initialization="audio/0.m4s" />
<Representation id="a0" bandwidth="448000" />
</AdaptationSet>
</Period>
</MPD>
Upvotes: 0
Views: 308
Reputation: 174435
You could also do:
$Count = ([xml](Get-Content .\Test.xml)).MPD.Period.FirstChild.Representation.Count
Upvotes: 1
Reputation: 22102
You can use Select-Xml
to select nodes by XPath expression:
(
Select-Xml -Namespace @{ns='urn:mpeg:dash:schema:mpd:2011'} `
-XPath //ns:AdaptationSet[1]/ns:Representation `
-Path Test.xml |
Measure-Object
).Count
Upvotes: 2