gpt4 book ai didi

java - 使用 JAVA 获取给定 XML 元素的属性

转载 作者:行者123 更新时间:2023-11-30 03:44:48 25 4
gpt4 key购买 nike

这是 XML 文件:

<TestCase name="SearchPromotions" type="DDTC" recovery="false" datatable="HsbcDemoSearchPromotionstestCaseSpecificVirtualDatatable" position="0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="file://C:/New folder/VTAF/base-qa-3.0.5.2/generator/xsd/TestCase.xsd">

<SelectedDataTableNames name="SearchData"> </SelectedDataTableNames>

<Open page="hsbc" ms="5000" />
<Click object="hsbc.Personal_Link" />
<Click object="hsbc.CreditCard_tab" />
<Call businessComponent="Global.Verify_Search">
<Param name="HotelName_Param" value="@SearchData_link" />
</Call>
<CheckElementPresent object="hsbc.Img_Hotel_logo" Identifire="Hotel_Name_PARAM:@SearchData_ResultHotelName" fail="true" customErrorMessage="Searched hotel name is not present in the page." />
</TestCase>

这是从指定元素获取属性的java代码。如果我尝试运行它会给出 NullpointException。我不知道缺少什么或出了什么问题。请任何人都可以帮助我。我已经注释了发生异常的行:

File fXmlFile = new File("SearchPromotions.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);
doc.getDocumentElement().normalize();

Element docEle = doc.getDocumentElement();
NodeList nl = docEle.getChildNodes();

if (nl != null && nl.getLength() > 0) {
for (int i = 0; i < nl.getLength(); i++) {
if (nl.item(i).getNodeType() == Node.ELEMENT_NODE) {
Element ele = (Element) nl.item(i);

switch(ele.getNodeName()){
case "Click":
System.out.println(ele);
//----------------
System.out.println(ele.getAttributes().getNamedItem("page").getNodeValue());
//----------------
break;
default:
break;
}
}
}
}

最佳答案

您正在尝试获取 Click 元素的 page 属性,但它只包含 object 属性。

因此,当执行 ele.getAttributes().getNamedItem("page").getNodeValue() getNamedItem("page") 将返回 null.

关于java - 使用 JAVA 获取给定 XML 元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26012982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com