簡體   English   中英

如何在Java中的xml屬性值內獲取html標記值?

[英]How to get html tag value inside an xml attribute value in java?

我有一個XML文件,其行如下所示:

<row Id="1" PostId="" ..... Body="<p>....</p><p>...<a>....</p><p>....</p>"....>

我想訪問“身體”屬性。 我使用了DOM解析器documentBuilder。

DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = null;
Document doc = null;
try {
        dBuilder = dbFactory.newDocumentBuilder();
    } catch (ParserConfigurationException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    try {
        doc = dBuilder.parse(this.xmlFile);
    } catch (SAXException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    doc.getDocumentElement().normalize();
    NodeList nList = doc.getElementsByTagName("row");
    for(int i=0;i<nList.getLength();i++){
        Node n = nList.item(i);
        if(n.getNodeType() == Node.ELEMENT_NODE){
            NamedNodeMap nnmap = n.getAttributes();
            NodeList nnmapList = nnmap.getNamedItem("Body").getChildNodes()
            for(int k=0;k<nnmapList.getLength();k++){
                pr.write(k+": "+nnmapList.item(k).getTextContent()+ "\n");
            }
            pr.write("\n");
        }
    }

我的輸出是這樣的:

0: <p>... <a href="...">...</a> ...</p><p>...</p>

現在,我想在<p><a>標記之間添加純文本。 對於<a> ,我不希望href,僅希望鏈接別名。 如何在Java中實現?

從XML文件的角度來看,HTML被認為是非結構化的(假設XML文件具有這樣的觀點)。 為了訪問標簽內容,您需要分別解析HTML字符串。 通常用於此目的的框架是jsoup

暫無
暫無

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

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