获取<a> tag and <b> tag</b></a>的XPath查询

时间:2015-02-15 23:11:41

标签: html xml xpath xpath-2.0 domxpath

我试图从整天开始使用Xpath查询获取值和标记,但我无法做到。有人可以帮助我使用xpath查询,我需要使用它来获取它们。请参阅以下HTML代码。

<html class="chrome webkit">
#shadow-root
<head>...</head>
<body id="jira" class="aui-layout aui-theme-default page-type-dashboard" data-version="6.1.2" data-aui-version="5.1.6">
<div id="page">
<header id="header" role="banner">...</header>
<div id="announcement-banner" class="alertHeader">
  <b> Production </b>
  <marquee scrollamoun="3" behaviour="alternate" onmouseover="this.stop()" onmouseout ="this.start()">..</marquee>
<#shadow-root
<font-color="red"> Note:Please check out 1.</font>
<a href="https://docs.google.com/a/query.com/document/" target="_blank">
 <b>
  <font color ="red"> GSD Service </font>
 </b>
</a>
</marquee>
</div>
<section id="content" role="main">...</section>
<footer id="footer" role="contentinfo">...</footer>
</div>
<div class="shim hidden"></div>
<div class="shim hidden"></div>
<div class="shim hidden"></div>
<div class="shim hidden"></div>
<div class="shim hidden"></div>
<div class="shim hidden"></div>
</body>
</html>

同样地,我在此标记之后还有另外三个标记,所以我想分别获取所有标记以及b标记以在我的应用程序中显示它。请帮我处理XPath查询。

1 个答案:

答案 0 :(得分:0)

假设您的HTML为well-formed,则以下XPath将选择所有a元素:

//a

只是第一个a

(//a)[1]

a div@id的{​​{1}}中的第一个page

(//div[@id='page']//a)[1]

您可以同样轻松地将这些概念应用于选择b

更新

以下XPath将选择您在所需评论中指明的所有a元素:

//div[@id='page']//div[@id='announcement-banner']//a[@target='_blank']

备注:

  • 当您的评论询问target="_blank"时,您的a就是{。}} 发布的HTML已target="_blank",因此您可能需要进行调整。
  • 如果您希望立即遏制而不是遏制任何深度,请使用/而不是//