java - 如何在 Java 中创建 XML 属性文件?

标签 java xml selenium selenium-webdriver

我正在研究 Selenium Webdriver 和我正在用 Java 编写的代码。在 Eclipse 中运行脚本..

目前我的本地目录中有很多属性文件,它们的形式是test.txt 文件和test.properties。一切都是单独的文件。

例子:

1.login.txt 文件包含以下详细信息

loginUsername= test
loginPassword= 1234
url= https//: ....

2。 dropdown.properties 包含以下值

visualizationId=Day,Week,Month,Quarter,Semester,Year,RD Tech Group,ICC,Center,Software Pack,Product,Project,Customer PRs,Severity,Priority
periodId=Last 4 Weeks,Last 52 Weeks,Date Range,Week Range,Month Range,Year To Date
classificationId=All PRs,External PRs,Internal PRs,Customer PRs
topographyId=Overall,Center,ICC,
swpacksId=ADVIP,ADVLEG,ADVSEC,Boot,H323,IBC,MULTI,None,OneOS_EAD,PROXY,SBO,SIP,TDRE,VoDSL
priorityId=Very Urgent,Urgent,Routine,Not Urgent,On Hold,Not Assigned
severityId=Blocking,Major,Minor,Cosmetic,OLD PR
projectId=/dev/v4.3/r4/e12sqq,BATS,1523 Business IAD & Business CPE,[CoCo2M],VQM

我的疑问是如何将所有内容都保存为 XML 文件的形式,它应该是通用的,我应该在需要 xml 属性文件的任何地方调用。

请帮我解决这个问题。

最佳答案

首先创建 xml 文件为 -

<?xml version="1.0"?>
<project>

<logindetails id="1001">
        <username>abc</username>
        <password>mook kim</password>
</logindetails >

<staff id="1001">
        <firstname>abc</firstname>
        <lastname>efd</lastname>
        <salary>100000</salary>
</staff>

</project>

您可以根据您的要求创建节点(例如 - staff,在上面的 xml 中登录)

然后你可以根据要求从xml中获取数据- 例如-假设您想从登录中获取用户名,那么您可以将参数(logindetails、用户名)传递给 readXML 方法并按如下所示获取它-

    import java.io.File;
    import java.io.IOException;

    import javax.xml.parsers.DocumentBuilder;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    import org.w3c.dom.Document;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;


    public class A {
    public static void main(String[] args) throws SAXException, IOException, ParserConfigurationException {
        A a = new A();
        String username = a.readXML("logindetails","username");
        System.out.println(username);
       //use username for webdriver specific actions
        driver.findElement(By......).sendkeys(username);
    }

        public String readXML(String searchelement,String tag) throws SAXException, IOException, ParserConfigurationException{
            String ele = null;
            File fXmlFile = new File("D://NewFile.xml");
            DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
            DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
            Document doc = dBuilder.parse(fXmlFile);

            doc.getDocumentElement().normalize();

            NodeList nList = doc.getElementsByTagName(searchelement);


            Node nNode = nList.item(0);

            if (nNode.getNodeType() == Node.ELEMENT_NODE) {
                Element eElement = (Element) nNode;
                 ele=eElement.getElementsByTagName(tag).item(0).getTextContent();

            }
            return ele;
        }

    }

关于java - 如何在 Java 中创建 XML 属性文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25130436/

相关文章:

java - weblogic部署InternalException : Transaction marked rollback or not expected transaction

xml - 使用 Powershell 转义 XML 元素名称中的破折号

c# - 使用 XSD 验证 XML 时忽略提供的命名空间

java - 如何在断言 Selenium getCssValue ("background"返回的背景色 rgb(255,255,255) 时将#ffffff 转换为#fff 或将#fff 转换为#ffffff

c# - 检测selenium中的ajax请求

java - libgdx 创建的项目无法在 Android 上运行

java - 如何使用maven项目在JavaFX中生成可执行jar

java - 在 ANT 构建期间未检测到 Java 文件中的断点

android - 布局中均匀分布的按钮

css - Selenium:无法在表中找到链接