javascript - 你如何为每个 XML 数据
问题描述
我试图从一些 XML 数据中获取频道显示名称和频道 ID,但它似乎无法让它工作。对于每个频道显示名称,我要获取频道显示名称和频道 ID,这是我尝试过的,它获取数据但将它们全部放入一个字符串中,我希望它们在单独的行中。
var xml = "<tv generator-info-name='tvchannels' source-info-name='tvchannels'><channel id='1234'><display-name>Channel 1</display-name></channel><channel id='5678'><display-name>Channel 2</display-name></channel><channel id='543553'><display-name>Channel 3</display-name></channel><channel id='324324'><display-name>Channel 4</display-name></channel></tv>",
xmlDoc = $.parseXML( xml ),
$xml = $( xmlDoc );
$xml.find("display-name").each(
function (i,e) {
$('#title').append($xml.find("display-name"));
$('#channelid').append($xml.find("channel").attr("id"));
});
解决方案
XPATH 和 XSL/XSLT 可以做到这一点,但是与 javascript/JSON 相比,它们可能难以学习/使用。首选 JavaScript 对象表示法 JSON。看一下
来自 Microsoft 的XPath 示例
来自 MDN的在 JavaScript 中使用 XPath 的介绍。
迭代器示例
var iterator = document.evaluate('//phoneNumber', documentNode, null, XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null ); try { var thisNode = iterator.iterateNext(); while (thisNode) { alert( thisNode.textContent ); thisNode = iterator.iterateNext(); } } catch (e) { alert( 'Error: Document tree modified during iteration ' + e ); }
推荐阅读
- django - 如何将 keycloak 与 django 和 angular 集成
- r - 如何调试 FactoInvestigate 错误:无法打开连接
- python-3.x - 使用 np.append() 在数组中形成数组
- c# - 时间:2019-04-01 标签:c#keep running application without run
- python - 如何检查熊猫数据框中是否存在特定条目并添加新条目?
- c# - 如何在 C# 代码中为 POST 方法创建精确的 JSON 格式?
- firebase - 侦听查询中第一个元素的 Firestore 安全规则
- google-cloud-platform - gcloud:显示 SimulateMaintenanceEvent 的配额限制
- javascript - 用于 6.3 到 6.5 AEM 升级的迁移工作流模型和脚本,脚本没有被拾取
- java - 如何将字符串返回为json格式