
Test public void deserialize() throws IOException { MutableDataSet options new MutableDataSet(); options.set(Parser.EXTENSIONS, Arrays.asList( StrikethroughExtension.create(), //删除线扩展 TablesExtension.create() //表格扩展 )); Parser parser Parser.builder(options).build(); InputStreamReader reader new InputStreamReader(FlexmarkCase.class.getClassLoader().getResourceAsStream(test.md)); Document document parser.parseReader(reader); ReversiblePeekingIteratorNode iterator document.getChildIterator(); while (iterator.hasNext()) { Node node iterator.next(); if (node.getClass().equals(Heading.class)) { Heading heading (Heading) node; System.out.println(heading.getText()); } else if (node.getClass().equals(BulletList.class)) { BulletList bulletList (BulletList) node; ReversiblePeekingIteratorNode iterator2 bulletList.getChildIterator(); while (iterator2.hasNext()) { Node node2 iterator2.next(); BulletListItem bulletListItem (BulletListItem) node2; ReversiblePeekingIteratorNode iterator3 bulletListItem.getChildIterator(); while (iterator3.hasNext()) { Node node3 iterator3.next(); if (node3.getClass().equals(BulletList.class)) { System.out.println(二级无序列表); //TODO: 继续解析 } else { System.out.println(node3.getChars()); } } } } else if (node.getClass().equals(ThematicBreak.class)) { System.out.println(node.getChars()); } //else if ... } }2.5、完整代码