Im使用JAVA和XML。以下是XML文件,IM与合作:使用JAVA和XML检查指定的XML元素是否具有使用JAVA的特定名称
<TestCase>
<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代码,这样做多远获取所有指定的父(这里“的TestCase”)下的元素,并必须根据不同的元素做不同的功能名称。我发现很难的是如何检查指定的元素是否包含名称。我无法使用“getElementsByTagName”来检查IF,因为它会在所有情况下都显示为true,因为存在该元素。这里是代码,我已经评论了检查是否应该发生的地方。
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);
if(//to check whther the current element is "Click"){
System.out.println(ele);
}
}
}
}
您可以使用XSD验证检查。你试过这个吗? – DiogoSantana 2014-09-24 05:14:16
不,我看看它。感谢信息 – Vithushan 2014-09-24 05:20:02