我想进入具有此文本的确切节点:’公司’.一旦到达此节点,我想立即到达此节点后面的下一个文本节点,因为它包含公司名称.我怎么能用Xpath做到这一点?
XML的片段是:
<div id="jobsummary">
<div id="jobsummary_content">
<h2>Job Summary</h2>
<dl>
<dt>Company</dt>
<!-- the following element is the one I'm looking for -->
<dd><span class="wrappable">Pinpoint IT Services, LLC</span></dd>
<dt>Location</dt>
<dd><span class="wrappable">Newport News, VA</span></dd>
<dt>Industries</dt>
<dd><span class="wrappable">All</span></dd>
<dt>Job Type</dt>
<dd class="multipledd"><span class="wrappable">Full Time</span></dd><dd class="multipleddlast"><span class="wrappable"> Employee</span></dd>
</dl>
</div>
</div>
我使用以下xpath获得了公司标签:// * [text()=’Company’]
现在我想进入下一个文本节点.我的XML是动态的.所以我不能硬编码节点类型,如< dd>获得公司价值.但这肯定是值在下一个文本节点中.
那么如何在具有文本作为公司的节点之后立即到达文本节点?
最佳答案 如果您无法硬编码以下兄弟节点的任何部分,则您的xpath应如下所示:
//*[text()='Company']/following::*/*/text()
假设所需的文本始终包含在另一个元素中,例如span.
要测试给定的dt文本,请将xpath修改为
//*[text()='Company' or text()='Company:' or text()='Company Name']/following::*/*/text()