У меня есть XML-файл, строки, как это:Как получить значение тега html внутри значения атрибута xml в java?
<row Id="1" PostId="" ..... Body="<p>....</p><p>...<a>....</p><p>....</p>"....>
Я хочу, чтобы иметь доступ к атрибуту Body. Я использовал парсер 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?