【发布时间】:2018-05-20 21:12:04
【问题描述】:
给定以下 xml 示例
<?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<message>
<id>ce8140c2-14e2-418b-8150-9face6a1aa33</id>
<company>Plostation</company>
<content>rovetguekh</content>
</message>
每次我发现长度为零时,这是我在 java 中的代码我不知道为什么虽然消息包含我想要的所有内容,但尝试了
NodeList messageListNodes = docEle.getChildNodes();
它工作正常返回 3 但发现 java.lang.NullPointerException.getTextContent();
convertName = el.getElementsByTagName("id").item(0).getTextContent();
代码
try {
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document dom = db.parse(new StringBufferInputStream(currentLine));
Element docEle = dom.getDocumentElement();
dom.getDocumentElement().normalize();
logger.info("Root element :" + dom.getDocumentElement().getNodeName());
/* Iterate over companies */
NodeList messageListNodes = docEle.getElementsByTagName("message");
if (messageListNodes != null) {
int length = messageListNodes.getLength();
for (int i = 0; i < length; i++) {
Node nNode = messageListNodes.item(i);
if ( nNode.getNodeType() == Node.ELEMENT_NODE) {
Element el = (Element) nNode;
convertName = el.getElementsByTagName("id").item(0).getTextContent();
name = java.util.UUID.fromString(convertName);
message.setId(name);
message.setCompany(messageListNodes.item(1).getTextContent());
message.setContent(messageListNodes.item(2).getTextContent());
logger.debug( name+ company + content);
messagelist.add(message);
}
}
}
【问题讨论】:
-
你的问题写得很混乱。日志输出是什么?
-
@RobinGreen 我解决了它现在可以正常工作了,谢谢你的帮助
标签: java xml xml-parsing