如何从 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 文件中获取属性值?的主要内容,如果未能解决你的问题,请参考以下文章

java中如何从Color属性字符串中获取颜色Color

如何从另一个 Qml 的 Qml 中的属性中获取值?

如何从 .vcxproj 文件中获取所有项目宏及其值

如何从 OPENJSON 获取多列值并交叉应用

如何从内联样式属性中获取值并将其放入最接近的输入值中? jQuery

如何从 Javascript 对象中获取属性值