亚洲欧洲一级特级黄在线高清|亚洲av视频在线观看|免费伦费一区二区三区四区|人妻体内射精一区二区三四|亚洲熟女一区av无码综合网|国产棈品国产三级国产普通话三级

小程序rich-text組件——java解析html輸出json

行業(yè)動(dòng)態(tài) 公司新聞 案例分享 技術(shù)百科

小程序rich-text組件——java解析html輸出json

來(lái)源:奇站網(wǎng)絡(luò ) 瀏覽量:2,452 發(fā)布日期: 2018-03-09

  1. <!-- https://mvnrepository.com/artifact/org.jsoup/jsoup -->
  2. <dependency>
  3. <groupId>org.jsoup</groupId>
  4. <artifactId>jsoup</artifactId>
  5. <version>1.11.2</version>
  6. </dependency>
  1. public class RichTextParse {
  2. public static List<Object> parse(String body) throws Exception {
  3. List<Object> nodes = new ArrayList<Object>();
  4. Document doc = Jsoup.parse(body);
  5. Element rootElement = doc.body();
  6. for (Element element : rootElement.children()) {
  7. RichTextNode node = new RichTextNode();
  8. node.setName(element.nodeName());
  9. // attrs
  10. for (Attribute attr : element.attributes()) {
  11. node.getAttrs().put(attr.getKey(), attr.getValue());
  12. }
  13. // has children
  14. if (element.children().size() > 0) {
  15. loopElement(node, element);
  16. } else {
  17. RichTextNodeText nodeText = new RichTextNodeText();
  18. nodeText.setType("text");
  19. nodeText.setText(element.text());
  20. node.getChildren().add(nodeText);
  21. }
  22. // add to nodes
  23. nodes.add(node);
  24. }
  25. return nodes;
  26. }
  27. private static void loopElement(RichTextNode nodeParent, Element elementParent) {
  28. List<Element> eles = elementParent.children();
  29. for (Element element : eles) {
  30. RichTextNode node = new RichTextNode();
  31. node.setName(element.nodeName());
  32. // attrs
  33. for (Attribute attr : element.attributes()) {
  34. node.getAttrs().put(attr.getKey(), attr.getValue());
  35. }
  36. //
  37. switch (element.nodeName()) {
  38. case "img":
  39. node.getAttrs().put("style", "max-width:100%;height:auto;");
  40. break;
  41. default:
  42. break;
  43. }
  44. // has children
  45. if (element.children().size() > 0) {
  46. loopElement(node, element);
  47. } else {
  48. RichTextNodeText nodeText = new RichTextNodeText();
  49. nodeText.setType("text");
  50. nodeText.setText(element.text());
  51. node.getChildren().add(nodeText);
  52. }
  53. // add to parent node
  54. nodeParent.getChildren().add(node);
  55. }
  56. }
  57. }
標簽:

廈門(mén)奇站網(wǎng)絡(luò )科技有限公司

電話(huà):13313868605

QQ:3413772931

地址:廈門(mén)集美區軟件園三期

網(wǎng)站地圖


                    掃一掃加我咨詢(xún)

亚洲欧洲一级特级黄在线高清|亚洲av视频在线观看|免费伦费一区二区三区四区|人妻体内射精一区二区三四|亚洲熟女一区av无码综合网|国产棈品国产三级国产普通话三级 北辰区| 永丰县| 丽水市| 炉霍县| 观塘区| 广南县| 出国| 华容县| 珲春市| 来安县| 塔城市| 枞阳县| 英山县| 蒙自县| 都兰县| 鄂托克旗| 锡林郭勒盟| 炉霍县| 文昌市| 蓬安县| 南漳县| 松阳县| 中西区| 内乡县| 读书| 石楼县| 赤壁市| 桐梓县| 读书| 康马县| 施甸县| 朝阳区| 牟定县| 绵竹市| 阿城市| 屯门区| 罗定市| 广灵县| 临城县| 从化市| 临清市| http://444 http://444 http://444 http://444 http://444 http://444