我的xml文件:
<credentials>
<machine name="xyz">
<cred-pairs>
<cred-pair>
<login>asad</login>
<password>12345</password>
</cred-pair>
<cred-pair>
<login>ggss</login>
<password>97653</password>
</cred-pair>
<cred-pairs>
</machine>
<machine name="pqr">
<cred-pair>
<cred-pair>
<login>ssdas</login>
<password>12345</password>
</cred-pair>
<cred-pairs>
</machine>
</credentials>客户端:
public Client
{
String login;
String password;
//getters
Client(String login,String password)
{
this.login=login;
this.password=password;
}
}我的测试类:
Class Test{
getMachineByName(String machineName)
{
ArrayList<Client> machineClients=new ArrayList<Client>();
/*here i have to iterate through xml and upon machineName i have to create Client objects using cred-pair(s) in cred-pairs node and add to machineClientsList
}
}如果我打电话给getmachineByName(xyz),我应该把所有的信用对都列成一列。我在迭代中感到困惑。
发布于 2011-08-26 16:50:03
最好的方法可能是使用XPATH,使用类似的方法。我假设您使用的是Dom4j 1.6.1。
Document document = DocumentHelper.parseText(xmlFileAsString);
List<Element> elements = document.getRootElement()
.selectNodes("//machine[@name='"+machineName+"']//cred-pair");
for (Element element : elements) {
String login = element.attributeValue("login");
String pwd = element.attributeValue("password");
...
}https://stackoverflow.com/questions/7206738
复制相似问题