简体   繁体   English

FF / Chrome的xpath查询

[英]xpath query for FF/Chrome

I have a query that works fine in IE, but I can't seem to get it to run correctly in FF or Chrome. 我有一个在IE中可以正常运行的查询,但似乎无法使其在FF或Chrome中正常运行。

...
<calendars>
<totalDates>2</totalDates>
<date>
    <dayDate>2013-12-03</dayDate>
    <intervals>
        <intervalName>AM</intervalName>
        <intervalName>PM</intervalName>
    </intervals>
</date>
<date>
    <dayDate>2013-12-04</dayDate>
    <intervals>
        <intervalName>AM</intervalName>
        <intervalName>PM</intervalName>
    </intervals>
</date>
</calendars>
...

To get the intervalName nodes in IE for "2013-12-04" I use: 要在IE中获取“ 2013-12-04”的intervalName节点,请使用:

intervalNodes = resp.documentElement.selectNodes("/calendars/date[dayDate='2013-12-04']/intervals/intervalName");

How do I get the intervalName nodes in FF/Chrome? 如何在FF / Chrome中获取intervalName节点?

Thanks for the help, Scott. 谢谢你的帮助,斯科特。

You can use http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator eg 您可以使用http://www.w3.org/TR/DOM-Level-3-XPath/xpath.html#XPathEvaluator例如

  var result = resp.evaluate("/calendars/date[dayDate='2013-12-04']/intervals/intervalName", resp, null, XPathResult.ORDERED_NODE_ITERATOR_TYPE, null);
  var node;
  while ((node = result.iterateNext()) != null)
  {
    var name = node.textContent;  
  }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM