Ich bin neu in Java und XML und ich muss einige Daten aus einer XML-Datei abrufen.Parsing XML mit Java Dom Parser
Hier mein xml
ist<?xml version="1.0" encoding="UTF-8"?>
<course name="BSc (Hons) Software Engineering" version="5.0" type="FT" lowerbound="2012" upperbound="2014" >
<year id="1">
<semester id="1">
<module>
<code>HCA1105C</code>
<name>Computer Architecture</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>PROG1115C</code>
<name>Object Oriented Software Development I</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MATH1103C</code>
<name>Decision Mathematics</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
<module>
<code>ITE1107C</code>
<name>Language and Communication Seminar</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
<module>
<code>MGMT1101C</code>
<name>Management Seminar</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
</semester>
<semester id="2">
<module>
<code>PROG1116C</code>
<name>Object Oriented Software Development II</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>WAT1116C</code>
<name>Internet Programming I</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MATH1101C</code>
<name>Analytic Methods for Computing</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>DBT1111C</code>
<name>Database Design</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
</semester>
</year>
<year id="2">
<semester id="1">
<module>
<code>CAN2112C</code>
<name>Network Design & Programming</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>WAT2117C</code>
<name>Internet Programming II</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>OSS2109C</code>
<name>Operating Systems</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>PROG2117C</code>
<name>Desktop Application Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
</semester>
<semester id="2">
<module>
<code>SDT2114C</code>
<name>Requirements Engineering</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MATH2323C</code>
<name>Numerical Methods</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MCT2104C</code>
<name>Mobile Application Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MCT2104C</code>
<name>Mobile Application Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>WAT2124C</code>
<name>Web Services</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MGMT2104C</code>
<name>Research & Development Seminar</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
</semester>
</year>
<year id="3">
<semester id="1">
<module>
<code>SECU3119C</code>
<name>Secure Software Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MULT3114C</code>
<name>Game Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>SEM3112C</code>
<name>Project Management Seminar</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
</semester>
<semester id="2">
<module>
<code>SDT3104C</code>
<name>Enterprise Software Development</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>WAT3125C</code>
<name>Emerging Web Technologies</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>SEM3113C</code>
<name>Software Quality Management</name>
<credits>4</credits>
<hrs_per_wk>2+2</hrs_per_wk>
</module>
<module>
<code>MGMT3105C</code>
<name>Entrepreneurship Seminar</name>
<credits>3</credits>
<hrs_per_wk>2+1</hrs_per_wk>
</module>
<module>
<code>PROJ3105C</code>
<name>Systems Development Project</name>
<credits>9</credits>
<hrs_per_wk />
</module>
</semester>
</year>
</course>
Lassen Sie uns sagen, dass ich alle Module Code erhalten möchten, die 1 Jahr im Semester 1.
HCA1105C
PROG1115C
MATH1103C
ITE1107C
MGMT1101C
Hier ist mein Code so weit
try {
File inputFile = new File(System.getProperty("user.dir") + "/courses/bse.xml");
DocumentBuilderFactory dbFactory
= DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
doc.getDocumentElement().normalize();
NodeList nList = doc.getElementsByTagName("year");
for (int i = 0; i < nList.getLength(); i++) {
Node nNode = nList.item(i);
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
//if (Integer.parseInt(eElement.getAttribute("id")) == 1) {
System.out.println(eElement.getElementsByTagName("code").item(0).getTextContent());
//}
}
}
} catch (Exception e) {
JOptionPane.showMessageDialog(null, e.getMessage(), "Fatal Error", JOptionPane.ERROR_MESSAGE);
System.exit(1);
}
Ich bekomme folgende Ausgabe
HCA1105C
CAN2112C
SECU3119C
Vielen Dank Mate ....endlich verstehen Xml Parsing besser – user2650277