HtmlAgilityPack如何解析* ngFor?

时间:2017-10-19 17:04:03

标签: c# html xpath html-agility-pack

我有一个与HtmlAgilityPack相关的问题

这是html代码

<div class="grid-container">
  <div class="grid-header">
    <div class="templateclass">
      <p-tabView [activeIndex]="activeTabIndex">
        <p-tabPanel *ngFor="let note of notes" [header]="note.noteName">
          <perfect-scrollbar class="ps-scroll">
            <div class="progressbarStyle">
              <p-progressBar [value]="note?.percentageCompleted"></p-progressBar>
            </div>
            <div [innerHTML]="note?.getDisplayHtml()">
            </div>
          </perfect-scrollbar>
        </p-tabPanel>
      </p-tabView>
    </div>
  </div>
</div>

这是我在C#中的代码

HtmlAgilityPack.HtmlDocument htmlDocument = new HtmlAgilityPack.HtmlDocument();
string htmlData = File.ReadAllText(filePath);
htmlDocument.LoadHtml(htmlData);
IEnumerable<HtmlAgilityPack.HtmlNode> tagNodes = htmlDocument.DocumentNode.SelectNodes("//p-tabPanel");

为什么返回SelectNodes始终为null?

我试图找到以下p-tabView,p-tabPanel,perfect-scrollbar,p-progressBar和div,我刚刚获得了完美滚动条和div的有价值的结果

你怎么看?

1 个答案:

答案 0 :(得分:1)

如果只搜索较小的情况,它会起作用:

IEnumerable<HtmlAgilityPack.HtmlNode> tagNodes = htmlDocument.DocumentNode.SelectNodes("//p-tabpanel");

您未获得的节点都是大写的:p-tabViewp-tabPanelp-progressBar

Stack Overflow引用:

我在W3C XPath 1.0 specification中找不到任何官方推荐。