Xstream annotion xml to java for selenium test

package com.dao;

import java.util.ArrayList;
import java.util.List;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamImplicit;

@XStreamAlias("html")
public class Html {

public Head head;
public Body body;

public class Head {
public String meta;
public String link;
public String title;
}

public class Body {
public Table table;

public class Table {
public Tbody tbody;
public String thead;

public class Tbody {
@XStreamImplicit(itemFieldName="tr")
public List<Tr> trs;

public class Tr {
@XStreamImplicit(itemFieldName="td")
public List<String> tds;
}

}
}
}

}
package com.DatasourceRead;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.StringReader;

import com.dao.Html;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import com.thoughtworks.xstream.io.xml.Xpp3DomDriver;

public class Test {

    private XStream xStream = null;
    private ObjectOutputStream  out = null;
    private ObjectInputStream in = null;        

    public void init() {
        xStream = new XStream();
    }

    public static Html changeToBean() throws IOException{
        System.out.println("in");
        XStream stream=new XStream(new Xpp3DomDriver());
        stream.processAnnotations(Html.class);
        return (Html) stream.fromXML(new FileInputStream("E:\\workspace\\Selenuim\\test.html"));//我这里用的是绝对路径 }
    }

    public static void main(String[] args) throws IOException {
        Html t = changeToBean();
        System.out.println(t.body.table.tbody.trs.get(1).tds.get(2));
    }
}
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<link rel="selenium.base" href="http://www.baidu.com/" />
<title>test</title>
</head>
<body>
<table cellpadding="1" cellspacing="1" border="1">
<thead>
<tr><td rowspan="1" colspan="3">test</td></tr>
</thead><tbody>
<tr>
    <td>open</td>
    <td>/index.php?tn=monline_5_dg</td>
    <td></td>
</tr>
<tr>
    <td>type</td>
    <td>id=kw</td>
    <td>ll</td>
</tr>
<tr>
    <td>click</td>
    <td>id=su</td>
    <td></td>
</tr>
<tr>
    <td>waitForPageToLoad</td>
    <td></td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>id=kw</td>
    <td></td>
</tr>
<tr>
    <td>waitForPageToLoad</td>
    <td></td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=LL_百度百科</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=建筑图纸标注</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=网络概念</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=Love Live</td>
    <td></td>
</tr>
<tr>
    <td>click</td>
    <td>link=网络概念</td>
    <td></td>
</tr>

</tbody></table>
</body>
</html>
时间: 2024-10-12 16:48:54

Xstream annotion xml to java for selenium test的相关文章

XStream实现xml和java对象之间的互相转换,同理JSON也可以

首先去官网下载响应JAR包 http://xstream.codehaus.org/index.html 最少需要两个jar包,一个xstream.jar,一个是xmlpull.jar 首先来看下java对象到xml的转换 package xml; class PhoneNumber { private int code; private int number; public int getCode() { return code; } public void setCode(int code)

XStream将XML转换为JAVA对象快速指南

XStream是一套简单实用的JAVA类库,它用于序列化对象和XML对象之间互相转换.由于XStream配置简单,灵活易用,因此在XML对象和JAVA对象序列化市场上有很大的空间.本文并不会对XStream的特性做详细介绍,只是以实例的方式演示XStream是多么的容易上手. 1.XStream官网下载最新版的Jar包,上传到工程路径. 2.假设我们要将如下的XML对象转换为JAVA对象. <?xml version="1.0" encoding="UTF-8"

XStream 用法详解 XML 转换为 java 实体类

XStream 用法详解 java 类与 XML 互换 现在 WEB数据交换的时代,传送XML目前是一个比较流行的方式,具有统一的规则约束,为实现后台接口提供了一个很方便的实现. 我编写了一个 接收XML并转换成所需要的Object类的 小例子,希望能够对做互联网数据传输.接口调用的朋友有所帮助. 首先要导入jar包xstream-1.4.3-sources.jar 和 xmlpull-1.1.3.1.jar 两个包: 其次是预备一个 XML 事例 <config> <span styl

使用XStream是实现XML与Java对象的转换(6)--持久化

九.持久化 在第八节的示例中,当我们操作一组对象时,我们可以指定Writer.OutputStream来写出序列化后的XML数据,我们还可以指定Reader.InputStream来读取序列化后的XML数据.当我们需要写出和读取文件时都需要指定输入输出流,并且需要明确的调用输入输出方法来实现Java对象的序列化和反序列化,其实我们完全可以让Java对象的序列化和反序列化操作隐性的.自动的完成,这就是我们要学的内容:PersistenceStrategy.XmlArrayList.XmlMap和X

xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写xml

xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 支持注解 @Ignore 指定忽略的字段 变更日志 CHANGE_LOG 快速开始 准备 jdk 1.7+ maven 3.x+ maven 引入 <dependency> <groupId>com.github.houbb</groupId> <artifac

xml-mapping xml 与 java 对象转换映射框架,像 XStream 一样优雅地读写x

xml xml 是 java 实现的 xml 框架. 希望以最优雅的方式进行 xml 和 java 之间的转换处理,一行代码搞定一切. 特点 对象的和 xml 的互相映射 支持注解 @Alias 指定别名 支持注解 @Ignore 指定忽略的字段 变更日志 CHANGE_LOG 快速开始 准备 jdk 1.7+ maven 3.x+ maven 引入 <dependency> <groupId>com.github.houbb</groupId> <artifac

xstream对象xml互转

1.引入jar包 xpp3_min-1.1.4c.jarxstream-1.4.8.jar 2.建立java bean package com.jdw.bean; import java.util.ArrayList; import java.util.List; public class Company { private List<Department> departments = new ArrayList<Department>(); public List<Depa

XStream解析xml和json

XStream是一个在我看来比较好的一个第三方包了.因为它在解析时支持注解.这样很是方便,并且xml跟json这两种格式的文件都能进行解析,XStream本属于java的一个第三方包,甚是好用,若是拿它在android开发环境,也是能正常解析,但有点美中不足,因为android开发环境时,XStream不太支持json转对象,只支持对象转json,其他xml与对象的互转都支持.这样的话双解析就有了那么一点瑕疵之处,不过话说回来,没多少需求的数据交互会用json跟xml切来切去的,当只是json转

xstream读取xml

xStream可以Java和xml相互转换.下面主要说明xstream读取xml文件(和xstream将Java转化成xml差不多).本次学习用到的是xstream1.4.7 项目中使用到的xml文件 <config name="personconfig"> <!-- <add> --> <!-- 使用addImplicitCollection可以不出现 --> <address> <add>abc;abc<