如何使用xpath选择以下同级/ xml标记

我有一个HTML文件(从Newegg)和他们的HTML组织如下。其规格表中的所有数据都是“desc”,而每个部分的标题都在“名称”中。下面是来自Newegg页面的两个数据示例。
<tr>
    <td class="name">Brand</td>
    <td class="desc">Intel</td>
</tr>
<tr>
    <td class="name">Series</td>
    <td class="desc">Core i5</td>
</tr>
<tr>
    <td class="name">Cores</td>
    <td class="desc">4</td>
</tr>
<tr>
    <td class="name">Socket</td>
    <td class="desc">LGA 1156</td>
<tr>
    <td class="name">Brand</td>
    <td class="desc">AMD</td>
</tr>
<tr>
    <td class="name">Series</td>
    <td class="desc">Phenom II X4</td>
</tr>
<tr>
    <td class="name">Cores</td>
    <td class="desc">4</td>
</tr>
<tr>
    <td class="name">Socket</td>
    <td class="desc">Socket AM3</td>
</tr>

最后,我想要一个类的CPU(已经设置),包括一个品牌,系列,核心和套接字类型来存储每个数据。这是我可以想到的唯一的方式去做这个:

if(parsedDocument.xpath(tr/td[@class="name"])=='Brand'):
    CPU.brand = parsedDocument.xpath(tr/td[@class="name"]/nextsibling?).text

并对其余的价值观这样做。我将如何完成下一步,是否有一个更简单的方法这样做?

How would I accomplish the nextsibling
and is there an easier way of doing
this?

您可以使用:

tr/td[@class='name']/following-sibling::td

但我宁愿直接使用:

tr[td[@class='name'] ='Brand']/td[@class='desc']

这假设:

>评估XPath表达式的上下文节点是所有tr元素的父级 – 未在您的问题中显示。>每个tr元素只有一个td,类属性值为’name’,只有一个td具有值为’desc’的类属性。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


php输出xml格式字符串
J2ME Mobile 3D入门教程系列文章之一
XML轻松学习手册
XML入门的常见问题(一)
XML入门的常见问题(三)
XML轻松学习手册(2)XML概念
xml文件介绍及使用
xml编程(一)-xml语法
XML文件结构和基本语法
第2章 包装类
XML入门的常见问题(二)
Java对象的强、软、弱和虚引用
JS解析XML文件和XML字符串详解
java中枚举的详细使用介绍
了解Xml格式
XML入门的常见问题(四)
深入SQLite多线程的使用总结详解
PlayFramework完整实现一个APP(一)
XML和YAML的使用方法
XML轻松学习总节篇