在做DOM解析XML的时候遇到一个问题,一直迷惑抑郁中 希望大家帮我解答
问题是这样:
1、我有像下列的xml文件<target>
<id>1</id>
<belong>1</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>2</id>
<belong>1</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>3</id>
<belong>2</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>4</id>
<belong>3</belong>
<descriptor>....</descriptor>
</target>2、现在想要得到所有属于同一ID的对象组!应该怎么操作?没有很多分数 希望能得到解答
问题是这样:
1、我有像下列的xml文件<target>
<id>1</id>
<belong>1</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>2</id>
<belong>1</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>3</id>
<belong>2</belong>
<descriptor>....</descriptor>
</target>
<target>
<id>4</id>
<belong>3</belong>
<descriptor>....</descriptor>
</target>2、现在想要得到所有属于同一ID的对象组!应该怎么操作?没有很多分数 希望能得到解答
2.使用纯domApi的话,大概类似
NodeList nl = root.getElementByName("target");int len = nl.getLength();//必须提前确定长度,不要在for中直接nl.getLength()List<Element > result = new ArrayList<Element >();
for(int i=1;i<=len;i++){
Element ele = (Element)nl.get(i);
Node n = ele.fistChild();
if(n.getName().equals("id") && n.fistChild().getValue().equals("1")){
result.add(ele ele );
}
}好久没玩DOM了,手头也没有IDE,纯手写代码应该有不少错.
你提的这个问题,应该是看一下API就能解决的问题...
唯一值的注意的是,很多DOM实现中对获取元素中text部分都不完整,也就是有时候你通过Element<id>直接去获取1,2,3不一定能得到,而是需要继续找child Node(是个TextNode),然后再getValue.