首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jdom元素处理

Jdom元素处理
EN

Stack Overflow用户
提问于 2011-12-19 23:51:27
回答 1查看 148关注 0票数 0

如果父元素中有一些带有jdom的文本,是否可以以某种方式将一个元素嵌套到另一个元素中?我要找的是类似<p> text <str>bold text</str> text </p>的东西。我可以创建一个名为<p>的新元素,然后使用.addContent在它下面添加一个<strong>元素,但是如果<p>元素中有一些文本,我该如何做呢?谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-12-29 00:43:34

您需要检索并删除原始文本,确定应该强调的区域,在该区域周围拆分原始字符串,添加前缀(如果有),创建并添加Elemen("strong")并将其文本设置为该区域,最后添加后缀(如果有)。

代码语言:javascript
复制
public static void main(String[] args) throws Exception {
    Element p = new Element("p");
    p.setText("Some bold text");
    print(p);
    List<Content> parts = split(p.getText());
    p.removeContent();
    p.addContent(parts);
    print(p);
}

static List<Content> split(String s) {
    List<Content> result = new LinkedList<Content>();
    String bold = "bold";
    int i = s.indexOf(bold);
    if (i != -1) {
        result.add(new Text(s.substring(0, i)));
        result.add(new Element("strong").setText(bold));
        result.add(new Text(s.substring(i+bold.length())));
    } else {
        result.add(new Text(s));
    }
    return result;
}

static void print(Element e) throws IOException {
    new XMLOutputter().output(e, System.out);
    System.out.println();
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8563814

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档