【发布时间】:2020-11-10 12:19:52
【问题描述】:
我正在尝试使用 Document 对象 (org.w3c.dom.Document) 在 Java 中通过 id 获取元素,但是当我使用函数 getElementById(elementId) 时返回 null。 Document 对象正在创建 Ok,因为我使用 getElementByTags 并且工作正常。
我的 Java 代码:
DocumentBuilder dbRespuesta0 = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document docRespuesta0 = dbRespuesta0.parse(new InputSource(new StringReader(context.getProperty("XML").toString())));
Element e = (Element) docRespuesta0.getElementById("ID_X");
我的 XML 的结构
<RESULT>
<TAG1 ID="A">
</TAG1>
<TAG1 ID="B">
</TAG1>
<TAG2 DIM="30" ID="C" SIZE="2">
</TAG2>
<TAG2 DIM="300" ID="ID_X" SIZE="2">
<TAG3 NUM="1">
</TAG3>
<TAG3 NUM="2">
</TAG3>
</TAG2>
</RESULT>
当我打印元素 e 时,我看到一个空值。我希望能在元素 e 中得到下一个 XML:
<TAG2 DIM="300" ID="ID_X" SIZE="2">
<TAG3 NUM="1">
</TAG3>
<TAG3 NUM="2">
</TAG3>
</TAG2>
【问题讨论】:
-
getElemenyById 正在查找类型 ID 而非值“ID”的属性。