gpt4 book ai didi

javascript - 测试 Xpath 对象是否为 null/未定义

转载 作者:行者123 更新时间:2023-12-03 11:12:50 26 4
gpt4 key购买 nike

我正在尝试从包含 XML 数据的变量中提取 xpath 结果。我试图提取的一些数据可能存在也可能不存在,因此我试图获取错误控制。示例:我的 XML 存储在变量 data 中。如果我使用以下代码获取 Year 的文本值,并且没有数据存在,则会抛出控制台错误 Uncaught TypeError: Cannot read property 'innerText' of null。这完全停止了 JS 并破坏了我的应用程序。

var year = document.evaluate('//Article/Journal/JournalIssue/PubDate/Year', $(data).get(0), null, XPathResult.ANY_UNORDERED_NODE_TYPE, null).singleNodeValue.innerText;

因此,如果 XML 数据实际上包含 Year,我决定将其分解为文本:

var yearobj = document.evaluate('//Article/Journal/JournalIssue/PubDate/Year', $(data).get(0), null, XPathResult.ANY_UNORDERED_NODE_TYPE, null)
if (yearobj !== null) {
var year = yearobj.singleNodeValue.innerText;
}
else {
year = '';
}

但是 yearobj 不是 为 null,因此错误仍然存​​在。

我也尝试过 if (typeofyearobj !== 'undefined') { 也不起作用。

最佳答案

But yearobj is not coming up null, so the error persists.

也许您找到了 yearobj,但 yearobj.singleNodeValue 不是您所期望的

将其简化为检查 yearobjsingleNodeValue 的真实性

var year = '';
if (yearobj && yearobj.singleNodeValue) {
year = yearobj.singleNodeValue.innerText;
}

关于javascript - 测试 Xpath 对象是否为 null/未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27486887/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com