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