이미지에서 src 태그를 가져 오는 방법은 무엇입니까?

c# html-agility-pack xml xpath

문제

img 태그에서 src 속성을 가져 오려고합니다. 문제는 이미지의 src 가 없지만 빈 문자열입니다. 나는 제거 대신하는 경우 //img/@src 나는의 내용을 참조 태그 (이미지). a 뭐가 문제 야? 다른 비슷한 질문을 보았지만 해결책이 없었다.

<div class="clearfix">
  <div class="container left">    
     <div class="logo">
        <a href="/teams/japan/japan/1348/">
        <img src="http://cache.images.core.optasports.com/soccer/teams/150x150/1348.png" alt="Giappone">
       </a>
     </div>
</div>

이것은 내 코드입니다.

var shieldHomeContainer = nodeCollection.SelectSingleNode("//div[@class='container left']//div[@class='logo']//a//img/@src");

수락 된 답변

이런 식으로 해봐.

var shieldHomeContainer = nodeCollection.SelectSingleNode("//img").Attributes["src"].Value;

인기 답변

속성을 직접 선택할 수는 없습니다. 요소를 선택하고 GetAttributeValue() 를 호출해야합니다.

var h=new HtmlAgilityPack.HtmlDocument();
h.LoadHtml(@"
<div class=""clearfix"">
  <div class=""container left"">    
     <div class=""logo"">
        <a href = ""/teams/japan/japan/1348/"" >
        <img src=""something"" alt=""Giappone"">
       </a>
     </div>
</div>");
var img = h.DocumentNode.SelectSingleNode(
 "//div[@class='container left']//div[@class='logo']//a//img");
Debug.WriteLine(img.GetAttributeValue("src","nothing"));

요소에 해당 속성이 있는지 확인하려면 img[@src] .



Related

아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow