selenium 数据驱动 (xml解析)

getElementByTagName()可以通过标签名获取某个标签。它所获取的对象是以数组形式存放。如“caption”和“item”标签在info.xml 文件中有多个,那么可以指定数组的下标在获取某个标签。
root.getElementsByTagName('caption') 获得的是标签为caption 一组标签;getElementsByTagName("p")[3]
item(0).getNodeName() 表示一组标签中的第一个。
item(2).getNodeName() 表示一组标签中的第三个。

getAttributes()方法可以获得元素的属性,getNamedItem()指定属性的名字。

getTextContent()方法用于获取标签对之前的数据。

HTML代码

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
<maxid>4</maxid>
<login username="pytest" passwd="123456">
<caption>Java</caption>
<item id="4">
<caption>test</caption>
</item>
</login>
<item id="2">
<caption>Zope</caption>
</item>
</catalog>

java代码一

 1 package selenium.test;
2 import java.io.File;
3 import javax.xml.parsers.DocumentBuilder;
4 import javax.xml.parsers.DocumentBuilderFactory;
5 import org.w3c.dom.Document;
6 import org.w3c.dom.NodeList;
7
8 public class readXML {
9 public static void main(String[] args) {
10 try {
11 File xmlFile = new File("C:\\Users\\happy\\Desktop\\Domo.xml");
12 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
13 DocumentBuilder builder = factory.newDocumentBuilder();
14 Document doc = builder.parse(xmlFile);
15 NodeList ma = doc.getElementsByTagName("maxid");
16 NodeList ca = doc.getElementsByTagName("caption");
17 NodeList it = doc.getElementsByTagName("item");
18 System.out.println(ma.item(0).getNodeName());
19 System.out.println(ca.item(0).getNodeName());
20 System.out.println(it.item(0).getNodeName());
21 } catch (Exception e) {
22 e.printStackTrace();
23 }
24 }
25 }

java代码二

  1 package selenium.test;
2
3 import java.io.File;
4 import javax.xml.parsers.DocumentBuilder;
5 import javax.xml.parsers.DocumentBuilderFactory;
6
7 import org.python.constantine.platform.darwin.Sysconf;
8 import org.w3c.dom.Document;
9 import org.w3c.dom.NodeList;
10
11 public class readXML {
12 public static void main(String[] args) {
13 try {
14 File xmlFile = new File("C:\\Users\\happy\\Desktop\\Domo.xml");
15 DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
16 DocumentBuilder builder = factory.newDocumentBuilder();
17 Document doc = builder.parse(xmlFile);
18 // 获取指定标签中元素/属性的值
19 NodeList login = doc.getElementsByTagName("login");
20 System.out.println(login.item(0).getAttributes().getNamedItem("username"));
21 System.out.println(login.item(0).getAttributes().getNamedItem("passwd"));
22 NodeList ca = doc.getElementsByTagName("caption");
23 // 获取标签中的文本内容
24 for (int i = 0; i < ca.getLength(); i++) {
25 System.out.println(ca.item(i).getTextContent());
26 //循环获取caption标签中的文本内容
27 }
28
29 } catch (Exception e) {
30 e.printStackTrace();
31 }
32 }
33
34 }

最新文章

  1. 【jQuery】 jQuery上下飘动效果
  2. 前端这条路怎么走,作为一名后端er,说说我的见解
  3. Sparse Matrix Multiplication
  4. wow7.1 xd 新手教程
  5. 程序员MM的自白:磨人小妖精之安卓碎片化
  6. WEB前端介绍
  7. java如何把char型数据转换成int型数据(转)
  8. JDNI
  9. EF codefirst+mvc4+bootstrap+autofac+ddd 系统共享 祝大家新年开心搬砖
  10. 新项目引入gulp
  11. Android 上层应用读写设备节点
  12. Nginx日志自动按日期存储
  13. 局域网中访问mac中的linux虚拟机服务
  14. SQL 添加索引
  15. Fiddler和PostMan的使用例子和下载
  16. Linux 防火墙firewalld
  17. 推荐Java程序员阅读的书籍(转)
  18. gulp入门与一些基本设置
  19. MAC电脑里的休眠功能在哪里?
  20. IQKeyboardManager第三方库的使用

热门文章

  1. 软工实践Beta冲刺(3/7)
  2. unity 归纳
  3. PHP+IIS上传大文件
  4. 团队作业4——第一次项目冲刺(Alpha版本)-第三篇
  5. Ext.Net学习网站
  6. httpclient upload file
  7. [bzoj3004] [SDOi2012]吊灯
  8. [洛谷P3919]【模板】可持久化数组
  9. Noip2016滚粗记QAQ
  10. POJ3169:Layout(差分约束)