首页 > 代码库 > selenium java 读取xml (数据驱动)

selenium java 读取xml (数据驱动)

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

 

selenium java 读取xml (数据驱动)