【问题标题】:Unable to remove <xml> and <style> tags from a string using JSOUP无法使用 JSOUP 从字符串中删除 <xml> 和 <style> 标记
【发布时间】:2014-08-21 07:37:17
【问题描述】:

我有一个包含以下 html 代码的字符串:

 ...
 ...
 <style>
   v\:* {behavior:url(#default#VML);}
   o\:* {behavior:url(#default#VML);}
   w\:* {behavior:url(#default#VML);}
   .shape {behavior:url(#default#VML);}
</style>
<xml>
   <w:WordDocument>
   <w:View>Normal</w:View>
   <w:Zoom>0</w:Zoom>
   <w:TrackMoves>false</w:TrackMoves>
</xml>
...
...

当我申请时

string.select("style").remove();
string.select("xml").remove();

似乎什么都没有发生。我做错了什么?我想完全删除这些标签,包括它们的内容。

【问题讨论】:

  • 请提供一个显示您遇到的问题的工作示例。我认为您可能会按照预期从Document 中删除Element,而是查看Elements 集合或类似的东西。
  • 我的回答有帮助吗?如果是,请标记它,以便可以认为该主题已关闭,如果不是,请提供一些反馈或您自己的答案。

标签: java xml tags jsoup


【解决方案1】:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.parser.Parser;

public class Main {

    public static void main(String[] args) {
        try {
            String xmlStr = "<style>" +
                            "v\\:* {behavior:url(#default#VML);}" +
                            "o\\:* {behavior:url(#default#VML);}" +
                            "w\\:* {behavior:url(#default#VML);}" +
                            ".shape {behavior:url(#default#VML);}" +
                            "</style>" +
                            "<xml>" +
                            "<w:WordDocument>" +
                            "<w:View>Normal</w:View>" +
                            "<w:Zoom>0</w:Zoom>" +
                            "<w:TrackMoves>false</w:TrackMoves>" +
                            "</xml>";

            Document doc = Jsoup.parse(xmlStr, "", Parser.xmlParser());
            doc.select("style").remove();
            System.out.println(doc);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

输出

<xml>
 <w:worddocument>
  <w:view>
   Normal
  </w:view>
  <w:zoom>
   0
  </w:zoom>
  <w:trackmoves>
   false
  </w:trackmoves>
 </w:worddocument>   //Added by jsoup during normalization of the xml document
</xml>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-11
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    • 2017-09-06
    相关资源
    最近更新 更多