java处理xml文件中遇到的问题
在java处理xml文件时候遇到了下面的一个问题:
powerdesigner设计的表中有主键的情况下 .PDM文件生成的xml中就会生成下面几行代码:
<c:PrimaryKey>
<o:Key Ref="o30" />
</c:PrimaryKey>
然后我就用java处理,能够读到主键信息,代码如下:
String keyId = ((Element) tableNode.selectSingleNode("c:PrimaryKey/o:Key")).attributeValue("Ref");
但是有的表中我没设计主键,所以就不会产生c:PrimaryKey/o:Key这几行代码,然后我上面
用java处理xml文件的那几行java代码就会报错,就不能那样写了,
请问:我该怎么判断一个表中有没有主键?或者我的java代码哪里改加个什么判断?
------解决方案--------------------用的dom 解析对吧, 那就先获取子元素<o:Key Ref="o30" /> 看是否为空
tableNode.getElementsByTagName() 返回子元素集合
------解决方案--------------------Node keyId = ((Element) tableNode.selectSingleNode("c:PrimaryKey/o:Key/@Ref"));
if(keyId != null) String id = keyId.getText();