本文共 2154 字,大约阅读时间需要 7 分钟。
目的:通过对网页内容解析,获得需要的内容,如网页的标题Title,主要内容,描述信息;而里面的广告、超链接、无关紧要的信息统统不要,从而达到对用户上网行为的分析的目的。下面是我...
目的:通过对网页内容解析,获得需要的内容,如网页的标题Title,主要内容,描述信息
;而里面的广告、超链接、无关紧要的信息统统不要,从而达到对用户上网行为的分析的目的。
下面是我做的一个:只能对xml文件解析,其他的格式不行。其次这只是对一级子元素判断,未判断二级或三级等。
需要导入jdom jar包
1.放在E盘的app.xml文档
loops
look
loops1
look1
java处理程序
package example;
import org.jdom.*;
import org.jdom.input.SAXBuilder;
import java.io.*;
import java.util.*;
/**
* Xml 解析工作实现(读取分析)
*
Title:
*
Description:
*
Copyright: Copyright (c) 2005
*
Company:
* @author Yaming
* @version 1.0
*/
public class XmlReader {
private Element m_RootElement = null;
public Element getM_RootElement() {
return m_RootElement;
}
public void setM_RootElement(Element m_RootElement) {
this.m_RootElement = m_RootElement;
}
/**
* 构造函数
* @param xmlFile String
* 根据文件的路径初始化dom的根
*/
public class XmlReader {
private Element m_RootElement = null;
public Element getM_RootElement() {
return m_RootElement;
}
public void setM_RootElement(Element m_RootElement) {
this.m_RootElement = m_RootElement;
}
/**
* 构造函数
* @param xmlFile String
* 根据文件的路径初始化dom的根
*/
public XmlReader(String xmlFile) {
try {
SAXBuilder builder = new SAXBuilder();//解析器定义
Document doc=null;
doc=builder.build(new FileInputStream(xmlFile));//读入Xml文件,获得Doc
this.m_RootElement = doc.getRootElement();//获得Xml文件的最上面的根
// System.out.println("1========"+m_RootElement);
}
catch (IOException ex) {
this.m_RootElement=null;
}
catch (JDOMException ex) {
this.m_RootElement=null;
}
}
/**
* 获得指定名字的根的内容,此方法只适用于此xml
* @param curRoot Element Your XmlRoot
* @param codeName String Your XmlCode
* @return List
*/
public List getElement(Element curRoot,String codeName) {
List result = new ArrayList();
if (null == curRoot) {
curRoot = m_RootElement;
}//判断Xml是否存在,以及根是否正确解析
if (null != curRoot) {
List l=curRoot.getChildren();//获得最上层根的所有字节点
Iterator it=l.iterator();//递归取出
while(it.hasNext()){
Element e=(Element)it.next();
if(e.getName().equalsIgnoreCase(codeName)){//获取这些根是否为所需要的
List l1=e.getChildren();//如果需要,解析出这个子节点的所有子节点
Iterator it1=l1.iterator();
while(it1.hasNext()){
Element e1=(Element)it1.next();
result.add(e1.getTextTrim());//取出所包含的值,放到要返回的结果集中
} } }}
return result;
}
展开
转载地址:https://blog.csdn.net/weixin_39987847/article/details/114210920 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!