如何使用 libtidy 从 html dom 节点获取特定属性

How can I get a specific attribute from a html dom node using libtidy

提问人:cao lei 提问时间:2/11/2015 更新时间:2/11/2015 访问量:293

问:

我正在使用 C++ 和 libtidy 来解析 html 页面。但是 libtidy 的文档太不完整了,以至于我几乎无法理解 API 函数是做什么的。我想要的是从html dom节点获取特定的属性值,例如:

<table class="xxxx" ...

我想把“xxxx”拿出来。我该怎么做?我必须像这样遍历表节点下的所有属性吗?

if (tidyNodeIsTABLE(tdNode))
{
    TidyAttr attr;
    for (attr=tidyAttrFirst(tdNode); attr; attr=tidyAttrNext(attr))
    {
        if (tidyAttrGetId(attr) == TidyAttr_CLASS)
        {
            std::string value = tidyAttrValue(attr);
            break;
        }
    }
}

或者有没有更方便的方法?谢谢。

C++ HTML 解析 htmltidy

评论


答: 暂无答案