首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >HtmlAgilityPack使用类在ChildNode中获取内容

HtmlAgilityPack使用类在ChildNode中获取内容
EN

Stack Overflow用户
提问于 2014-11-04 10:13:47
回答 1查看 958关注 0票数 0

我有一个基本的HTML页面。它包括奥莫地区。同类8不同的内容。

代码语言:javascript
复制
<div class="omo-page-wrapper">
    <div class="omo-part">
        <div class="omo-img">...</div>
        <div class="omo-info">
            <div class="r-logo">...</div>
            <div class="r-content font-hbold">
                <i>Content Area 1</i>
                <em>Content Area 2</em>
                <a href="/blabla">Href</a>
            </div>
        </div>
    </div>
    <div class="omo-part">
        <div class="omo-img">...</div>
        <div class="omo-info">
            <div class="r-logo">...</div>
            <div class="r-content font-hbold">
                <i>Content Area 1</i>
                <em>Content Area 2</em>                
                <a href="/blabla2">Href2</a>
            </div>
        </div>
    </div>
    <div class="omo-part">...</div>
    <div class="omo-part">...</div>
    <div class="omo-part">...</div>
    <div class="omo-part">...</div>
    <div class="omo-part">...</div>
    <div class="omo-part">...</div>   
</div>

我想得到所有r-内容字体的所有内容(i,em,href)。我被利用了,我得到了所有节点。但我没有得到ChildNodes..。

代码语言:javascript
复制
HtmlDocument document = new HtmlDocument();
document.LoadHtml(html);

var allElementsWithClassTalkMedallion = document.DocumentNode.SelectNodes("//*[contains(@class,'r-content font-hbold')]");

foreach (HtmlNode node in allElementsWithClassTalkMedallion)
{
    dataTable.Rows.Add("i", "em", "href"); //??
}

return promotions;

8(或更多)相同的类区域,3个子节点。我怎么能得到所有的我,嗯,href的内容?非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-11-04 10:27:38

一种可能的方法是,您可以使用SelectSingleNode()从每个node变量一次获得一个特定的节点:

代码语言:javascript
复制
foreach (HtmlNode node in allElementsWithClassTalkMedallion)
{
    var i = node.SelectSingleNode("i").InnerText.Trim();
    var em = node.SelectSingleNode("em").InnerText.Trim();
    var href = node.SelectSingleNode("href").InnerText.Trim();
    dataTable.Rows.Add(i, em, href);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26732588

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档