我有像这样的HTML代码
<p>
<i>One</i> - <i>Two</i> - ... <i>N</i> -
<tag1>hey</tag1> <tag2>there!</tag2> how are you?
</p>
我想hey there! how are you?
。
这是我到目前为止所做的:
Elements p = document.select("p");
List<Node> nodes = p.get(0).childNodes();
for (Node node : nodes){
if (node.nodeName() != "i"){
if (node.nodeName() != "#text"){
System.out.print(((Element) node).text());
} else {
System.out.print(node);
}
}
}
这就是我得到的:
- - hey there! how are you?
之后,我计划使用.replace()
来摆脱“ - ”。
我想知道是否有更好的方法?
答案 0 :(得分:0)
如果布局肯定是给定的,那么这种变化可能会为您提供帮助。测试<i>
元素及其后面的元素。
Element p = document.select("p");
List<Node> nodes = p.childNodes();
for (Node node : nodes){
if ((node.nodeName() != "i") && (node.previousSibling.nodeName() != "i")){
if (node.nodeName() != "#text"){
System.out.print(((Element) node).text());
}else{
System.out.print(node);
}
}
}