gpt4 book ai didi

javascript - 看似不一致的 Chrome XPath 结果

转载 作者:行者123 更新时间:2023-11-30 18:47:30 26 4
gpt4 key购买 nike

我有一个非常简单的 XML 文档,它是从一个较大的父文档中检索到的。请参阅下面的“accountxml”:

<accounts xmlns=​"https:​/​/​domain.com/path">​
<customerid>​sometext</customerid>​
<login>​sometext​</login>​
<companyname>​sometext​</companyname>​
<canmanageclients>​sometext</canmanageclients>​
</accounts>​

非常简单——只有一个命名空间 URL(在下面的 myNS 命名空间映射中称为 ns2 的 URL)。查询登录:

accountxml.evaluate('//ns2:login',accountxml,myNS,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

返回正常:

<login>sometext</login>​

但是:

accountxml.evaluate('//ns2:customerid',accountxml,myNS,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

返回:

null

这是一个如此简单的查询,我很惊讶它会中断。但我可以 100% 地重现它。我做错了什么,或者这是 Chrome 中的错误?

最佳答案

感谢 Gael 鼓励我重新审视大写。

关键是文档取自较大的父级。尽管上面的小文档打印出来的完全正如JS 控制台所看到的那样——所有元素名称都是小写的,但它所取自的较大的父元素使用 initialLowerCase 作为元素名称。

即使我正在查询较小的片段,我仍然需要使用父级的大小写而不是子级的大小写。

accountxml.evaluate('//ns2:customerId',accountxml,myNS,XPathResult.FIRST_ORDERED_NODE_TYPE,null).singleNodeValue;

我不确定这是 Chrome 错误还是预期行为。

关于javascript - 看似不一致的 Chrome XPath 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4995692/

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