У меня xml, из которого я извлекаю необходимую информацию.
И это мой код для получения каждого значения из узлов:
$CustomTypeColl = $XmlDocument.XIP.ContentObject.CustomType | Group-Object -NoElement
$ContentObjectColl = $XmlDocument.XIP.ContentObject.SecurityTag | Group-Object -NoElement
$BitstreamColl = [System.Collections.ArrayList]@($XmlDocument.XIP.Generation.Bitstreams.Bitstream)
$DurationColl = ($xmlDocument.XIP.Generation.Properties.Property | where {$_.PropertyName -eq "Duration"}).value
В этом узле - $ CustomTypeColl переменная, у меня есть следующие значения: Audio, Video, Document
В этом узле - $ BitstreamColl mp3, mp3, mp3, mov, mov, pdf, pdf
Как я могу сделать что-то вроде это: Foreach Audio получает формат mp3, видео получает формат mov и документ получает pdf
Требуется вывод: 'У вас есть 3 аудио в формате mp3'; 2 видео в формате mov и 2 документа в формате pdf.
Я пытаюсь что-то сделать, но безуспешно!
$XmlDocument.XIP.ContentObject.CustomType | % {$XmlDocument.XIP.Generation.Bitstreams.Bitstream}
Спасибо за любую помощь!
Это мой xml файл:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<XIP xmlns="http://preservica.com/XIP/v6.0">
<InformationObject>
<Ref>de76f81d-18bd-4a0c-84d7-0a43e5385ec7</Ref>
<Title>AUT_cik02-RK-2018-10-08</Title>
<SecurityTag>U_UserAccess</SecurityTag>
<Parent>9615af72-e69b-45d1-b0f2-b04923765c21</Parent>
</InformationObject>
<Representation>
<InformationObject>de76f81d-18bd-4a0c-84d7-0a43e5385ec7</InformationObject>
<Name>Preservation-1</Name>
<Type>Preservation</Type>
<ContentObjects>
<ContentObject>1cdcc348-ab06-4938-99a9-7642edc2370c</ContentObject>
</ContentObjects>
</Representation>
<ContentObject>
<Ref>1cdcc348-ab06-4938-99a9-7642edc2370c</Ref>
<Title>AUT_cik02-RK-2018-10-08</Title>
<SecurityTag>U_UserAccess</SecurityTag>
<CustomType>video</CustomType>
<Parent>de76f81d-18bd-4a0c-84d7-0a43e5385ec7</Parent>
</ContentObject>
<Generation original="true" active="true">
<ContentObject>1cdcc348-ab06-4938-99a9-7642edc2370c</ContentObject>
<FormatGroup>mpeg-video</FormatGroup>
<EffectiveDate>2020-05-13T10:38:47Z</EffectiveDate>
<Bitstreams>
<Bitstream>Representation_Preservation_1/AUT_cik02-RK-2018-10-08/Generation/AUT_cik02-RK-2018-10-08.mp4</Bitstream>
</Bitstreams>
<Formats>
<Format valid="false">
<PUID>fmt/199</PUID>
<Priority>1</Priority>
<IdentificationMethod>Signature</IdentificationMethod>
<FormatName>MPEG-4 Media File</FormatName>
<FormatVersion> </FormatVersion>
</Format>
</Formats>
<Properties>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/10011</PUID>
<PropertyName>Vertical Aspect Ratio</PropertyName>
<Value>9</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/10005</PUID>
<PropertyName>Video Bitrate</PropertyName>
<Value>1910425</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/10006</PUID>
<PropertyName>Encoding Type</PropertyName>
<Value>Main@L4</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>TSS-prp/10</PUID>
<PropertyName>Codec Name</PropertyName>
<Value>AVC</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/19</PUID>
<PropertyName>Creating Application</PropertyName>
<Value>x264 core 155 r2901 7d0ff22</Value>
</Property>
<Property>
<Group>Audio Stream 0</Group>
<PUID>prp/10003</PUID>
<PropertyName>Number of Audio Channels</PropertyName>
<Value>2</Value>
</Property>
<Property>
<PUID>prp/10008</PUID>
<PropertyName>Number Of Video Streams</PropertyName>
<Value>1</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/10009</PUID>
<PropertyName>Frame Rate</PropertyName>
<Value>25</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/10011</PUID>
<PropertyName>Horizontal Aspect Ratio</PropertyName>
<Value>16</Value>
</Property>
<Property>
<Group>Audio Stream 0</Group>
<PUID>prp/10005</PUID>
<PropertyName>Audio Bitrate</PropertyName>
<Value>160362</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/3</PUID>
<PropertyName>Video Width</PropertyName>
<Value>1920</Value>
</Property>
<Property>
<Group>Audio Stream 0</Group>
<PUID>TSS-prp/10</PUID>
<PropertyName>Codec Name</PropertyName>
<Value>AAC</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/4</PUID>
<PropertyName>Video Height</PropertyName>
<Value>1080</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>TSS-prp/40</PUID>
<PropertyName>Scan Type</PropertyName>
<Value>progressive</Value>
</Property>
<Property>
<PUID>prp/19</PUID>
<PropertyName>Creating Application</PropertyName>
<Value>HandBrake 1.1.1 2018061800</Value>
</Property>
<Property>
<PUID>prp/10008</PUID>
<PropertyName>Number Of Audio Streams</PropertyName>
<Value>1</Value>
</Property>
<Property>
<Group>Audio Stream 0</Group>
<PUID>prp/12</PUID>
<PropertyName>Sampling Frequency</PropertyName>
<Value>48000</Value>
</Property>
<Property>
<PUID>prp/10002</PUID>
<PropertyName>Duration</PropertyName>
<Value>2M9.686S</Value>
</Property>
<Property>
<Group>Video Stream 0</Group>
<PUID>prp/5</PUID>
<PropertyName>Colour Space</PropertyName>
<Value>YUV</Value>
</Property>
</Properties>
</Generation>
<Bitstream>
<Filename>AUT_cik02-RK-2018-10-08.mp4</Filename>
<FileSize>33653548</FileSize>
<PhysicalLocation>Representation_Preservation_1/AUT_cik02- RK-2018-10-08/Generation</PhysicalLocation>
<Fixities>
<Fixity>
<FixityAlgorithmRef>SHA1</FixityAlgorithmRef>
<FixityValue>8872b97b619e967fceba3b36e8ee02aca940dfba</FixityValue>
</Fixity>
</Fixities>
</Bitstream>
</XIP>