0
こんにちはすべて:)私はJavaとXMLに問題があります。Java XML delete要素> 30の場合
私は様々な年齢のサッカー選手のXMLファイルを持っており、30歳以上のプレーヤーのみを削除したいと考えています。
そして、これは私のJavaソースです:
try {
File inputFile = new File("src/players.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(inputFile);
System.out.println("Root element :" + doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("player");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
int ageNumber = Integer.parseInt(eElement.getElementsByTagName("age").item(0).getTextContent());
if(ageNumber > 30) {
temp--;
eElement.getParentNode().removeChild(eElement);
doc.normalize();
}
System.out.println("ID : " + eElement
.getElementsByTagName("id")
.item(0)
.getTextContent());
System.out.println("First Name : "
+ eElement
.getElementsByTagName("firstName")
.item(0)
.getTextContent());
System.out.println("Last Name : "
+ eElement
.getElementsByTagName("lastName")
.item(0)
.getTextContent());
System.out.println("Age : "
+ eElement
.getElementsByTagName("age")
.item(0)
.getTextContent());
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
しかし、プログラムは年齢とともに要素を削除does notの> 30
誰もが私を助けてくださいだろうか?事前に感謝します
「doesnt work」とは何を意味しますか?どうしたの?ランタイムの問題?コンパイルの問題? – chrisl08
プログラムはプレーヤーのリストを表示しますが、30歳以上の古いプレーヤーは削除しません。 –
サンプルXMLファイルを提供できますか? –