java递归遍历xml所有元素_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...
2019獨角獸企業(yè)重金招聘Python工程師標準>>>
xml中加入了幾條,為了方便查詢時作為示例。
話不多說見代碼注釋:
DTD文件:SwordTypeDefinition.dtd
XML文件:SwordLib.xml
SwordLibrary?SYSTEM?"SwordTypeDefinition.dtd">
歡欣之刃
1000
10
夜叉
2050
30
魔棒
200
0
java代碼:
package?JavaLeaner.XmlTest;
import?java.io.BufferedReader;
import?java.io.IOException;
import?java.io.InputStreamReader;
import?javax.xml.parsers.DocumentBuilder;
import?javax.xml.parsers.DocumentBuilderFactory;
import?javax.xml.parsers.ParserConfigurationException;
import?org.junit.Test;
import?org.w3c.dom.Document;
import?org.w3c.dom.Element;
import?org.w3c.dom.NamedNodeMap;
import?org.w3c.dom.NodeList;
import?org.xml.sax.SAXException;
public?class?XmlDemo2?{
/*
*?按照屬性sno查詢
*/
@Test
public?void?Test1()?throws?IOException,?ParserConfigurationException,?SAXException
{
System.out.println("請輸入查找的sword的sno:");
//這里是java?的控制臺輸入方法,老忘記,TT
BufferedReader?br=new?BufferedReader(new?InputStreamReader(System.in));
String?sno=br.readLine();
Element?st=?FindSwordBySno(sno);
if?(st?!=?null)?{
String?sname?=?st.getElementsByTagName("SwordName").item(0).getTextContent();
System.out.println("此劍為:"?+?sname);
}
else
{
System.out.println("這里不賣!!"?);
}
/*????????請輸入查找的sword的sno:
s2
此劍為:夜叉
*/
}
Element?FindSwordBySno(String?sno)throws?ParserConfigurationException,?SAXException,?IOException
{
DocumentBuilderFactory?factory?=?DocumentBuilderFactory.newInstance();
DocumentBuilder?docDuilder?=?factory.newDocumentBuilder();
Document?doc?=?docDuilder.parse("src/JavaLeaner/XmlTest/SwordLib.xml");
NodeList?list?=?doc.getElementsByTagName("Sword");
for(int?i=0;i
總結(jié)
以上是生活随笔為你收集整理的java递归遍历xml所有元素_Java学习之Xml系列二:xml按条件查询、xml递归遍历所有元素和属性...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 如何使用python效率_Python的
 - 下一篇: 实时取色器(RGB)