如何从 XML/MPD 文件中获取属性值?
Posted
技术标签:
【中文标题】如何从 XML/MPD 文件中获取属性值?【英文标题】:How to get attribute value from XML/MPD file? 【发布时间】:2016-10-11 20:22:49 【问题描述】:我正在尝试从 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】:您提到的 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
【讨论】:
抱歉,没发现它被隐藏了。以上是关于如何从 XML/MPD 文件中获取属性值?的主要内容,如果未能解决你的问题,请参考以下文章