【发布时间】:2013-06-11 14:45:10
【问题描述】:
我正在从字典 api 解析定义。我有这行xml
<dt>:any of a small genus (<it>Apteryx</it>) of flightless New Zealand birds with rudimentary wings, stout legs, a long bill, and grayish brown hairlike plumage</dt>
如何获得 dt 元素的完整行。我的问题是当它到达这部分(Apteryx)时它不起作用,因为元素中有额外的标签。我如何将整个 dt 元素作为一个完整的字符串。这是我当前的代码。
Element def = (Element) element.getElementsByTagName("def").item(0);
System.out.println(getValue("dt",def).replaceAll("[^\\p{L}\\p{N} ]", ""));
其中 def 是包含 dt 元素的元素。
这是我的 getValue 代码
private static String getValue(String tag, Element element)
{
NodeList nodes = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodes.item(0);
return node.getNodeValue();
}
有时dt元素中有多个嵌套标签
【问题讨论】:
-
你为什么使用你的“getValue”方法,你不能使用 def.getElementsByTagName("dt") 来获取整个“dt”元素?
-
否,因为它返回一个节点列表
-
def.getElementsByTagName("dt").item(0)?