좀 HTML을, 예를 들어 반환하지 :html로 민첩성 팩 : DescendantsOrSelf() HTML 요소
<%@ Page Title="About Us" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true"
CodeBehind="ContentManagedTargetPage.aspx.cs" Inherits="xxx.ContentManagedTargetPage" %>
<%@ Register TagPrefix="CxCMS" Namespace="xxx.ContentManagement.ASPNET.UI" Assembly="xxx.ContentManagement.ASPNET" %>
<asp:Content ID="HeaderContent" runat="server" ContentPlaceHolderID="HeadContent">
</asp:Content>
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<h2>
Content Managed
</h2>
<p>
Put content here.
[<CxCMS:ContentManagedPlaceHolder Key="keyThingy" runat="server" />]
</p>
</asp:Content>
을 그리고 나는 CxCMS의 모든 인스턴스 찾으려면 : ContentManagedPlaceHolder 요소를.
나는 HTML Agility Pack을 사용하고 있습니다.
그러나 [빈약 한] 문서를 보았지만 코드를 작동시킬 수 없습니다.
나는 일에 다음과 같은 기대 :
string searchForElement = "CxCMS:ContentManagedPlaceHolder";
IEnumerable<HtmlNode> contentPlaceHolderHtmlNodes = HtmlDocument.DocumentNode.Descendants(searchForElement);
int count = contentPlaceHolderHtmlNodes.Count();
그러나 나는 다시 아무 것도 얻을 수 없습니다. 이 중 어느 것도 따라
string searchForElement = "CxCMS:ContentManagedPlaceHolder";
IEnumerable<HtmlNode> contentPlaceHolderHtmlNodes = HtmlDocument.DocumentNode.DescendantsOrSelf().Where(q=>q.Name==searchForElement);
int count = contentPlaceHolderHtmlNodes.Count();
:
string searchForElement = "CxCMS:ContentManagedPlaceHolder";
IEnumerable<HtmlNode> contentPlaceHolderHtmlNodes = HtmlDocument.DocumentNode.DescendantsOrSelf(searchForElement);
int count = contentPlaceHolderHtmlNodes.Count();
가 나는 또한 LINQ를 사용하여 시도 : 잘못된 - 나는 DescendantsOrSelf로 변경하는 경우
, 나는 다시 "#document을"문서 노드를 얻을 수 메서드가 작동하면 SelectNodes를 대신 사용합니다.
string searchForElement = "CxCMS:ContentManagedPlaceHolder";
string xPath="//"+searchForElement // "//CxCMS:ContentManagedPlaceHolder"
var nodes= HtmlDocument.DocumentNode.SelectNodes(xPath);
이 예외는 단지 throw됩니다. "네임 스페이스 관리자 또는 XsltContext가 필요합니다. 이 쿼리는 접두어, 변수 또는 사용자 정의 함수를 가지고 있습니다. "HymDocument 개체에 네임 스페이스 관리를 추가 할 방법이 없습니다.
DescendantsOrSelf() 메서드는 다음과 같은 경우 작동합니다. "p"와 같은 "표준"HTML 태그를 사용하지만 실제로는 작동하지 않습니다. (반드시해야합니다!)
예, ASPX 소스로 작업하고 있습니다. 그것은 내가 지금까지 해본 테스트에서, 소문자를 계산 한 후에 작동하는 것 같습니다! 감사. –