现在有这样一个XML文件不知道怎么处理
<rcc version="1.02">
〈serverGroup name="default">
<server hostname ="192.168.0.0" ip="192.168.0.0" port="1024">
</serverGroup>
〈serverGroup name="servergroup1">
<server hostname ="192.168.0.1" ip="192.168.0.1" port="1024"/>
<server hostname ="192.168.0.2" ip="192.168.0.2" port="1024"/>
<server hostname ="192.168.0.3" ip="192.168.0.3" port="1024"/>
</serverGroup>
〈serverGroup name="servergroup1">
<server hostname ="192.168.0.4" ip="192.168.0.4" port="1024"/>
<server hostname ="192.168.0.5" ip="192.168.0.5" port="1024"/>
</serverGroup>
高手指点。
问题主要是出现在,组名的地方。 解析完根据不同的分组,添加到JTree里面
<rcc version="1.02">
〈serverGroup name="default">
<server hostname ="192.168.0.0" ip="192.168.0.0" port="1024">
</serverGroup>
〈serverGroup name="servergroup1">
<server hostname ="192.168.0.1" ip="192.168.0.1" port="1024"/>
<server hostname ="192.168.0.2" ip="192.168.0.2" port="1024"/>
<server hostname ="192.168.0.3" ip="192.168.0.3" port="1024"/>
</serverGroup>
〈serverGroup name="servergroup1">
<server hostname ="192.168.0.4" ip="192.168.0.4" port="1024"/>
<server hostname ="192.168.0.5" ip="192.168.0.5" port="1024"/>
</serverGroup>
高手指点。
问题主要是出现在,组名的地方。 解析完根据不同的分组,添加到JTree里面
楼主截止到2008-06-18 22:09:37的汇总数据:
发帖数:9
结贴数:0
结贴率: 0.00%
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html
xml文件:
<?xml version="1.0" encoding="UTF-8" ?>
<list>
<serverGroup name="default">
<server hostname ="192.168.0.0" ip="192.168.0.0" port="1024"/>
</serverGroup>
<serverGroup name="servergroup1">
<server hostname ="192.168.0.1" ip="192.168.0.1" port="1024"/>
<server hostname ="192.168.0.2" ip="192.168.0.2" port="1024"/>
<server hostname ="192.168.0.3" ip="192.168.0.3" port="1024"/>
</serverGroup>
<serverGroup name="servergroup1">
<server hostname ="192.168.0.4" ip="192.168.0.4" port="1024"/>
<server hostname ="192.168.0.5" ip="192.168.0.5" port="1024"/>
</serverGroup>
</list>解析此xml文件:
package test1;import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import javax.xml.transform.TransformerException;import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;import com.sun.org.apache.xpath.internal.XPathAPI;public class csdntest2 {
public csdntest2(){
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
String serverGroupName = "";
String hostname = "";
String ip = "";
String port = "";
try {
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
InputStream is=new FileInputStream("d:/test.xml");
Document doc = dombuilder.parse(is);
NodeList serverGroups = XPathAPI.selectNodeList(doc.getDocumentElement(), "/list/serverGroup");
if(serverGroups!=null){
for(int i=0;i<serverGroups.getLength();i++){
Node serverGroup=serverGroups.item(i);
NodeList server=XPathAPI.selectNodeList(serverGroup, "server");
serverGroupName=serverGroup.getAttributes().getNamedItem("name").getNodeValue();
for(int j = 0;j < server.getLength(); j++){
Node server1 = server.item(j);
hostname = server1.getAttributes().getNamedItem("hostname").getNodeValue();
ip = server1.getAttributes().getNamedItem("ip").getNodeValue();
port = server1.getAttributes().getNamedItem("port").getNodeValue();
System.out.println(serverGroupName+"|"+hostname+"|"+ip+"|"+port);
}
}
}
} catch (ParserConfigurationException e) {
e.printStackTrace();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (TransformerException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new csdntest2();
}
}
运行结果:
default|192.168.0.0|192.168.0.0|1024
servergroup1|192.168.0.1|192.168.0.1|1024
servergroup1|192.168.0.2|192.168.0.2|1024
servergroup1|192.168.0.3|192.168.0.3|1024
servergroup1|192.168.0.4|192.168.0.4|1024
servergroup1|192.168.0.5|192.168.0.5|1024
那就简单了,用正则表达式可以很快搞定。
顶一下3L