操作HTML源

大家好!
我需要操作通过XMLHttpRequest对象接收的HTML源代码(而不是XML)中的元素.
如果可能,我希望将HTML转换为DOM Document对象并在其中运行XPath查询,如下所示:

选择 | 换行 | 行号
  1. var otherDocument =  createDocumentFromHTMLSource (htmlSource);
  2. var result = otherDocument.evaluate("//A", otherDocument.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  3.  

如果这样解决不了,我有没有其他办法可以考虑呢?
目标浏览器是Firefox 2.0.
谢谢!

# 回答1


不知道这是否有帮助,但您熟悉XUL吗?如果没有的话,我有链接.这是火狐最棒的地方之一.
# 回答2


我听说过XUL,但从来没有用过.
但是,我可以通过使用不可见的临时IFRAME元素来加载HTML来安排解决方案,而不是使用XMLHttpRequest.我的代码变成了如下所示:

选择 | 换行 | 行号
  1. var iframe = document.createElement('iframe');
  2. iframe.style.display = 'none';
  3. document.body.appendChild(iframe);
  4. iframe.addEventListener('load', f, true);
  5. iframe.src = ...;
  6.  
  7. function f() {
  8.     var otherDocument = iframe.document;
  9.     var result = otherDocument.evaluate("//A", otherDocument.body, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE, null);
  10.     ...
  11.     document.body.removeChild(iframe);
  12. }
  13.  

我不认为这是一个好的、干净的解决方案--但它对我很有效:-).
还有其他建议吗?
谢谢!

# 回答3


我不是一个喜欢使用脚本的人,但是,供你仔细阅读:
XUL星球
XUL
我建议这样做的原因是,您的目标是Firefox,而您部分使用了XML和Java脚本,因此XUL可能正好适合您正在做的事情.我看到一些使用它的在线应用程序太酷了.

标签: Javascript

添加新评论