HTML 을 불러와 xml 또는 xhtml 로 저장하려할때
1) form 태그가 하위 요소를 포함하지 않고 혼자서 태그가 닫히는 문제가 있었다
<form>
<input>
<input>
</form>
을 변환하고 나면
<form/>
<input/>
<input/>
이렇게 되었다.
관련 게시글 : http://htmlagilitypack.codeplex.com/discussions/7121
해결책은 링크에 있는것처럼 소스 코드를 받아 리빌드 하는것이다.
소스 파일 중에 HtmlNode.cs 가 있는데
ElementsFlags.Add("form", HtmlElementFlag.CanOverlap | HtmlElementFlag.Empty);
위와 같이 되어 있을것이다. 저 코드의 htmlelementFlag.Empty 를 지워버리면 된다.
2) form 하위 노드가 검색이 안되는 문제
<form>
<input>
<input>
</form>
xpath 로 검색하는데 form/input 이 null 로 반환되는 경우
해당 코드를 사용하기 전에
HtmlNode.ElementsFlags.Remove("form");
위 코드를 실행해주면 하위 노드가 나타난다
반응형