我是jaxp的新手,我坚持这个我必须使用sax或dom解析这个xml。 我必须要求用户输入empoyee代码,然后显示该特定员工的其他节点 for ex :如果用户输入101,那么我将显示
Ename:akshay
ecode:101
dp no.:10
mgr code=201
我尝试了很多但没有结果,有人可以提供帮助。
<employees>
<employee>
<Ename>akshay</Ename>
<Ecode>101</Ecode>
<EmpSal>2100.0</EmpSal>
<Department_code>10</Department_code>
<Manager_code>201</Manager_code>
</employee>
<employee>
<Ename>rahul</Ename>
<Ecode>102</Ecode>
<EmpSal>21000.0</EmpSal>
<Department_code>20</Department_code>
<Manager_code>202</Manager_code>
</employee>
</employees>
我尝试解析此xml的代码
public class ParseUsingDom {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory
.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("emp.xml");
NodeList list = document.getElementsByTagName("*");
int count = 0;
{
for (int i = 0; i < list.getLength(); i++) {
Element element = (Element) list.item(i);
String nodeName = element.getNodeName();
if (nodeName.equals("employee")) {
count++;
System.out.println("Employee :" + count);
} else if (nodeName.equals("Ename")) {
System.out.println("\tEname:\t"
+ element.getChildNodes().item(0).getNodeValue());
} else if (nodeName.equals("Ecode")) {
System.out.println("\tECode:\t"
+ element.getChildNodes().item(0).getNodeValue());
} else if (nodeName.equals("EmpSal")) {
System.out.println("\tEmpsal:\t"
+ element.getChildNodes().item(0).getNodeValue());
} else if (nodeName.equals("Department_code")) {
System.out.println("\tDepartment_code: "
+ element.getChildNodes().item(0).getNodeValue());
} else if (nodeName.equals("Manager_code")) {
System.out.println("\tManager code:\t"
+ element.getChildNodes().item(0).getNodeValue());
}
}
}} catch (ParserConfigurationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
答案 0 :(得分:0)
这很简单。
Document
DocumentBuilder
。Scanner
可能有帮助。XPath
可能是一个好的开始。单独执行这些步骤并找出如何执行这些步骤。把它放在一起,你就得到了解决方案。