안드로이드 개발 팁 #49 - jsoup 활용하여 HTML 요소 정의 방법steemCreated with Sketch.

jsoup 활용하여 HTML 요소 정의 방법

No. 49
23.10.06 (금) | Written by @dorian-mobileapp

시작하며…

스팀잇 포스트의 포맷은 마크다운 텍스트입니다. commonmark 라이브러리를 활용하여 이를 HTML 텍스트로 바꿀 수 있는데요. HTML의 일부 요소(element)들은 변경 또는 새로 추가해야 합니다. 각 요소를 Element 객체로 접근하는 방법을 jsoup 라이브러리가 제공하고요. 오늘 포스트에서는 jsoup을 활용하여 HTML 요소(element)를 정의하는 방법을 정리해 봅니다.


필요 라이브러리


HTML 요소인 Element 객체 정의 방법

(1) Element 클래스의 생성자를 호출하여 객체 생성

val newElement = Element(
    "iframe"    // 요소 이름
)

(2) 추가로 attr 메소드를 호출하여 요소의 속성 정의

newElememt.attr(
    "속성 이름",
    "속성 값(문자열로 정의)"
)

속성의 값이 true/false이면, 문자열 대신 true/false로 대입 가능합니다.


Element 객체를 문자열로 변환

객체의 toString() 메소드를 호출하면 됩니다. 그러면 "<요소 이름>...</요소 이름>"의 포맷으로 문자열이 리턴됩니다.


예 - img 요소 정의


예 - 유튜브 동영상을 보여줄 iframe 요소 정의

val videoId = "s5H1GWi82QM"
val start = 0
val newElement = Element("iframe").apply {
    attr("frameborder", "0")
    attr("allowfullscreen", "")
    attr("src", "https://www.youtube.com/embed/${videoId}?start=${start}")
}

참고 링크


지난 안드로이드 개발 팁


Layout provided by Steemit Enhancer hommage by ayogom


Posted through the ECblog app (https://blog.etain.club)
Sort:  

안녕하세요.
SteemitKorea팀에서 제공하는 'steemit-enhancer'를 사용해 주셔서 감사합니다. 개선 사항이 있으면 언제나 저에게 연락을 주시면 되고, 관심이 있으신 분들은 https://cafe.naver.com/steemitkorea/425 에서 받아보실 수 있습니다. 사용시 @응원해 가 포함이 되며, 악용시에는 모든 서비스에서 제외될 수 있음을 알려드립니다.

[광고] STEEM 개발자 커뮤니티에 참여 하시면, 다양한 혜택을 받을 수 있습니다.

Thank you, friend!
I'm @steem.history, who is steem witness.
Thank you for witnessvoting for me.
image.png
please click it!
image.png
(Go to https://steemit.com/~witnesses and type fbslo at the bottom of the page)

The weight is reduced because of the lack of Voting Power. If you vote for me as a witness, you can get my little vote.


안녕하세요.
이 글은 SteemitKorea팀(@ayogom)님께서 저자이신 @dorian-mobileapp님을 응원하는 글입니다.
소정의 보팅을 해드렸습니다 ^^ 항상 좋은글 부탁드립니다
SteemitKorea팀에서는 보다 즐거운 steemit 생활을 위해 노력하고 있습니다.
이 글은 다음날 다시 한번 포스팅을 통해 소개 될 예정입니다. 감사합니다!

Upvoted! Thank you for supporting witness @jswit.

Coin Marketplace

STEEM 0.13
TRX 0.33
JST 0.034
BTC 110163.42
ETH 4272.25
USDT 1.00
SBD 0.83