2019独角兽企业重金招聘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