2016-09-21 63 views
0

我有它的線條像這樣的一個XML文件:如何在java中的xml屬性值中獲取html標記值?

<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中實現?

回答

0

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