使用java从XML字符串中检索特定元素

时间:2014-03-11 12:55:44

标签: java eclipse xml-parsing

以下是我的代码。我能够解析xml,我得到所有的值,如果它在xml中 - 例如: - 部分号我得到所有的值,因为它是在xml中。当我访问MODEL时,应用程序终止。如何检查模型标签是否存在,我想检查标签是否存在值是否为空。

PartNo[i].setText(el.getElementsByTagName("PART_NO").item(0).getTextContent());

if(el.getNodeName().contains("MODEL"))
{
    Model[i].setText(el.getElementsByTagName("MODEL").item(0).getTextContent());
} 

XML文档如下所示:

<root>
  <DataSet>
    <PartNo>aaa</PartNo>
    <Model>bbbb</Model>
  </DataSet>
  <DataSet>
    <PartNo>aaa</PartNo>
  </DataSet>
</root>

1 个答案:

答案 0 :(得分:0)

您的来电el.getNodeName().contains("MODEL"))正在检查String的{​​{1}}节点名称是否包含el,这显然是错误的。

在行之间阅读,我想您要检查每个"MODEL"元素是否有相应的Model元素,可以使用DOM解析器完成此操作:

PartNo

注意:这取决于您列出的元素的顺序,如果您要使用此代码,则应由模式强制执行。