日期:2014-05-20  浏览次数:20719 次

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代码哪里改加个什么判断?
java,xml powerdesigner

------解决方案--------------------
用的dom 解析对吧,  那就先获取子元素<o:Key Ref="o30" /> 看是否为空

tableNode.getElementsByTagName()  返回子元素集合
------解决方案--------------------
Node keyId = ((Element) tableNode.selectSingleNode("c:PrimaryKey/o:Key/@Ref"));
if(keyId != null) String id = keyId.getText();