java txt html格式_java中xml(txt/html等格式)解析问题,请教java高手,请勿粘贴其他网页上的内容(能查的都看了)。...
发布日期:2021-10-31 15:52:11 浏览次数:6 分类:技术文章

本文共 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 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:java中装饰器_Java设计模式12:装饰器模式
下一篇:java compareable接口_Java对象比较-Comparable和Comparator接口使用

发表评论

最新留言

很好
[***.229.124.182]2024年03月23日 03时50分48秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章