Как получить значение атрибута из файла XML/MPD?

Я пытаюсь получить значения из атрибутов в MPD-файле, который является XML-файлом, другими словами, чтобы передать его другой функции. Не повезло до сих пор. Я буду признателен за любую помощь.

Ценности, на которые я смотрю <ContentProtection>: default_KID

XML-файл:

<ContentProtection schemeIdUri="urn:mpeg:dash:mp4protection:2011" value="cenc" cenc:default_KID="63F31554-C8A7-93D7-B131-7C01612D8D91"/>
<ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4" value="Marlin">
    <cenc:pssh>AAAAKHBzc2gAAAAAXmKa9TjaQGOJd5f/vZkC1AAAAAgAAAAIbWFybA==</cenc:pssh>
    <mas:MarlinContentIds>
        <mas:MarlinContentId>urn:marlin:kid:42eb30ca4481312db87a91119d6f0b28</mas:MarlinContentId>
    </mas:MarlinContentIds>
</ContentProtection>

1 ответ

Здесь нет default_KID в упомянутой вами части XML, но вы можете использовать Marlin KID. DOMParser может использоваться для анализа строки XML:

var xml = '<ContentProtection schemeIdUri="urn:uuid:5E629AF5-38DA-4063-8977-97FFBD9902D4" value="Marlin"><cenc:pssh>AAAAKHBzc2gAAAAAXmKa9TjaQGOJd5f/vZkC1AAAAAgAAAAIbWFybA==</cenc:pssh><mas:MarlinContentIds><mas:MarlinContentId>urn:marlin:kid:42eb30ca4481312db87a91119d6f0b28</mas:MarlinContentId></mas:MarlinContentIds></ContentProtection>';

var parser = new DOMParser();
var parsedXml = parser.parseFromString(xml, 'application/xml');
parsedXml.getElementsByTagName('MarlinContentId')[0].textContent
Другие вопросы по тегам