簡體   English   中英

無法刪除 <xml> 和 <style> tags from a string using JSOUP

[英]Unable to remove <xml> and <style> tags from a string using JSOUP

我有一個包含以下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();

似乎什么也沒發生。 我做錯了什么? 我想完全刪除那些標簽,包括其內容。

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>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM