우리가 어떻게 가치를 선택할 수 있는가? <option> ...에서 <select> 에서 텍스트를 사용하여 <option> 본문 <option>

c# html-agility-pack xpath

문제

<option> text <select> 를 사용하여 <select> 에서 <select> <option> 의 값을 선택하는 방법

<option value="123">text<option>

여기에 xpath가 있습니다.이 옵션을 사용하면 <select> 마녀에 ' text '가 포함되어 있는지 확인할 수 있습니다.

string xpath = "// * [포함 (@name, 'selectname')] / option [포함 (번역 (텍스트 (),"+ " 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'), 'text')]";

여기에 html이있다.

<select name="selectname">
<option value="`123`">text</option>
<option value="456">text</option>
</select>

나는 값 123 을 얻고 자한다. 동일한 xpath를 사용하여 옵션 마녀가 '텍스트'를 포함하고 있는지 확인하고 값 '123'을 얻고 싶다.

여기에 이미지 설명을 입력하십시오.

수락 된 답변

var doc = new HtmlAgilityPack.HtmlDocument();
HtmlAgilityPack.HtmlNode.ElementsFlags.Remove("option");
doc.LoadHtml(html);

var values = doc.DocumentNode.SelectNodes("//select[@name='selectname']/option")
                .Where(o => o.InnerText=="text")
                .Select(o => o.Attributes["value"].Value)
                .ToList();

인기 답변

HTML 민첩성 팩을 사용하면 InnerHTML을 사용할 수 있습니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.