如何从XML / MPD文件中获取属性值?

时间:2016-10-11 20:22:50

标签: jquery xml mpeg-dash 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 个答案:

答案 0 :(得分:0)

您提到的XML部分中没有default_KID,但您可以使用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