当前位置: 代码迷 >> J2SE >> 思路 用JAVA分析XML格式的网站日志
  详细解决方案

思路 用JAVA分析XML格式的网站日志

热度:667   发布时间:2016-04-24 00:43:03.0
求一个思路 用JAVA分析XML格式的网站日志
有一个网站 网络日志已经生成 是XML格式的 大概格式如下 

<session id="100" user_agent="系统信息 浏览器信息等">
  <request timestamp="2012-6-20 08:01:34" type="item">
  <url>XXXXXXXX.html</url>
  </request>
  </session>

会记录每个用户的访问信息 比如系统 浏览器。。等
然后是 访问此URL的时间
具体URL  

这个网络日志里面会有很多类似这样的信息 并且其中访问时间和访问URL可以为多个
大致要做成 运行程序后 访问这个XML日志文件 
然后统计出一共多少用户 在每个页面停留时间 每个用户平均访问了几个URL之类

因为从来没有做过这种特地来求逸个思路 非常感谢 或者给我相关文献什么都可以 !谢谢

------解决方案--------------------
你只要会解析xml文件就行了,其它就是统计的问题了

给你一个解析xml文件最简单的例子
Java code
import java.io.*;import javax.xml.parsers.*;import org.w3c.dom.*;public class DomTest{    public static void main(String[] args) throws Exception    {        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();        DocumentBuilder builder = factory.newDocumentBuilder();                Document document = builder.parse(new File("test.xml"));    //分析xml文件        Element root = document.getDocumentElement();        //得到根元素        System.out.println(root.getTagName());            //打印根元素标签名        NodeList nodeList = root.getChildNodes();        //得到根元素的子元素        for (int i = 0; i < nodeList.getLength(); i++)            {            Node node = nodeList.item(i);            if (node instanceof Element)        //判断子元素是否是Element对象            {                Element element = (Element) node;    //转化为Element对象                System.out.println(element.getTagName() + " " + element.getAttribute("id") + " " + element.getAttribute("user_agent"));    //打印属性                //下面是分析二级子元素,和上面基本相同                NodeList nodeList2 = node.getChildNodes();                for (int j = 0; j < nodeList2.getLength(); j++)                {                    Node node2 = nodeList2.item(j);                    if (node2 instanceof Element)                    {                        Element element2 = (Element) node2;                        System.out.println(element2.getTagName() + " " + element2.getAttribute("timestamp") + " " + element2.getAttribute("type"));                    }                }            }        }    }}
------解决方案--------------------
用dom4j解析即可,网上有很多例子,LZ搜dom4j解析xml文件,能搜到好多。
比如:http://wenku.baidu.com/view/4dd4ee3067ec102de2bd898b.html
dom4j也有官方的文档与例子。http://www.dom4j.org/
  相关解决方案