在Java中解析HTML字串:如何做
P粉193307465
P粉193307465 2023-08-01 16:41:41
0
2
600
<p>給定字串「<table><tr><td>Hello World!」</td></tr></table>",取得表示它的DOM元素的(最簡單的)方法是什麼?</p>
P粉193307465
P粉193307465

全部回覆(2)
P粉731861241

如果你有一個包含HTML的字串,你可以像這樣使用Jsoup函式庫來取得HTML元素:

String htmlTable= "<table><tr><td>Hello World!</td></tr></table>";
Document doc = Jsoup.parse(htmlTable);

// then use something like this to get your element:
Elements tds = doc.getElementsByTag("td");

// tds will contain this one element: <td>Hello World!</td>
P粉176980522

我在某個地方發現了這個(不記得在哪裡了):

public static DocumentFragment parseXml(Document doc, String fragment)
 {
    // Wrap the fragment in an arbitrary element.
    fragment = "<fragment>"+fragment+"</fragment>";
    try
    {
        // Create a DOM builder and parse the fragment.
        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
        Document d = factory.newDocumentBuilder().parse(
                new InputSource(new StringReader(fragment)));

        // Import the nodes of the new document into doc so that they
        // will be compatible with doc.
        Node node = doc.importNode(d.getDocumentElement(), true);

        // Create the document fragment node to hold the new nodes.
        DocumentFragment docfrag = doc.createDocumentFragment();

        // Move the nodes into the fragment.
        while (node.hasChildNodes())
        {
            docfrag.appendChild(node.removeChild(node.getFirstChild()));
        }
        // Return the fragment.
        return docfrag;
    }
    catch (SAXException e)
    {
        // A parsing error occurred; the XML input is not valid.
    }
    catch (ParserConfigurationException e)
    {
    }
    catch (IOException e)
    {
    }
    return null;
}
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板