■ HeadingBlock 클래스의 Inline 속성을 사용해 텍스트를 구하는 방법을 보여준다.
▶ 예제 코드 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 |
string markdownString = @" 이것은 **Markdown** 문서입니다. - 목록 항목 1 - 목록 항목 2 - 목록 항목 3 # 제목 1 ## 제목 2 ### 제목 3 #### 제목 4 ##### 제목 5 ###### 제목 6 "; MarkdownDocument markdownDocument = Markdown.Parse(markdownString); foreach(HeadingBlock headingBlock in markdownDocument.Descendants<HeadingBlock>()) { int level = headingBlock.Level; string headingBlockText = GetHeadingBlockText(headingBlock); Console.WriteLine($"레벨 {headingBlock.Level} : {headingBlockText}"); } #region 헤딩 블럭 텍스트 구하기 - GetHeadingBlockText(headingBlock) /// <summary> /// 헤딩 블럭 텍스트 구하기 /// </summary> /// <param name="headingBlock">헤딩 블럭</param> /// <returns>헤딩 블럭 텍스트</returns> public string GetHeadingBlockText(HeadingBlock headingBlock) { StringWriter writer = new StringWriter(); HtmlRenderer renderer = new HtmlRenderer(writer); foreach(Inline inline in headingBlock.Inline) { renderer.Write(inline); } return writer.ToString(); } #endregion |