新手提问,关于dom,jdom
对于未知的节点,用jdom,dom好像搞不定,也可能是api了解的太少
问题如下:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping SYSTEM "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
<hibernate-mapping>
<class name="bean.Company" table="companys">
<id name="id" unsaved-value="null">
<generator class="uuid.hex"/>
</id>
<property name="name" length="20"/>
</class>
</hibernate-mapping>
很眼熟吧,呵呵
在class节点下有id,property等节点,节点数未知,节点名称也未知,希望通过一个遍历找到class节点下所有节点的name属性值.
谢谢大家的帮忙
问题点数:100、回复次数:3Top
1 楼jayde(胡不归)回复于 2004-04-05 10:55:57 得分 100
用jdom实现
main(String[] args){
try {
builder = new SAXBuilder();
doc = builder.build(new File(noteXMLFile));
} catch (JDOMException e) {
e.printStackTrace();
} catch (NullPointerException e) {
e.printStackTrace();
} catch (IOException e) {
}
eleRoot = doc.getRootElement();
readChilds(eleRoot);
}
private void readChilds(Element inputele) {
List listEleChild = inputele.getChildren();
if (listEleChild.size() == 0) {
return;
}
for(int i=0;i<listEleChild.size();i++){
Element eleChild = null;
eleChild = (Element)listEleChild.get(i);
try{
System.out.println(eleChild.getAttribute("name").getValue());
}
catch(Exception e){
}
List listChildChild = eleChild.getChildren();
if(listChildChild.size()>0){readChilds(eleChild);}
}
return ;
}
红老大的帖子,一定得up。Top
2 楼zxhong(红透半边天)回复于 2004-04-05 11:13:11 得分 0
谢谢了,这么给面子,呵呵
马上结贴Top
3 楼zxhong(红透半边天)回复于 2004-04-05 11:16:01 得分 0
暂时结不了,晚上结,以后还要向你多多请教啊
jdom比dom的确强大些,呵呵Top




