java读取xml(java读取xml并显示成gui)
java如何读取xml文件
xml解析还是用dom4j方便,
import?java.util.List;
import?org.dom4j.Document;
import?org.dom4j.DocumentException;
import?org.dom4j.Element;
import?org.dom4j.io.SAXReader;
public?class?XMLPaser?{
public?static?void?main(String[]?args)?{
paserXML();
}
public?static?void?paserXML(){
SAXReader?reader?=?new?SAXReader();
try?{
//?读取XML文件
Document?doc?=?reader.read("NewFile.xml");
Element?root?=?doc.getRootElement();
System.out.println(root.getName());
ListElement?param?=?root.elements();
for?(Element?element?:?param)?{
if(element.attributeValue("name").equals("a")){
System.out.println(element.getText());
}
}
}?catch?(DocumentException?e)?{
e.printStackTrace();
}
}
}
java读取xml文件内容
java中不是有个读取xml文件的类吗?之间调用那类读取出来,然后用取节点的方法去取对应节点的里的值。等下给你代码。
public class ReaderXml {
private static String filename = "E:\\workplace\\readerxml\\bin\\reader\\xml\\reader.xml";
// private static Config config;
public static void main(String []args) throws Exception{
//这里用反射机制
DocumentBuilderFactory domfac=DocumentBuilderFactory.newInstance();
DocumentBuilder dombuilder=domfac.newDocumentBuilder();
//读取文件流
InputStream is=new FileInputStream(filename);
Document doc=dombuilder.parse(is);
Element root=doc.getDocumentElement();
//获取所有xml节点
NodeList dbinfo=root.getChildNodes();
if(dbinfo!=null){
for(int i=0;idbinfo.getLength();i++){
//获取节点判断
Node db=dbinfo.item(i);
//如果是Hardwares节点,也就是你xml文件的最顶处的节点
if(db.getNodeName().equals("Hardwares")){
//获取第二个节点包含的所有节点
NodeList list=db.getChildNodes();
for(int y=0;ylist.getLength();y++){
Node n=list.item(y);
//如果节点等于Hardware
if(n.getNodeName().equals("Hardware")){
//获取Hardware节点中的所有节点
NodeList CnodeList=n.getChildNodes();
//取出Hardware里面的所有节点
for(int k=0;kCnodeList.getLength();k++){
//取出节点
Node cn=CnodeList.item(k);
//去掉里面的#text文件节点。没用,这个不是你配置的节点,应该是xml文件隐藏的
if(!cn.getNodeName().equals("#text")){
//打印你所配置的所有节点 System.out.println("node["+k+"]="+cn.getNodeName()+" nodeValue["+k+"]="+cn.getTextContent());
}
}
}
}
}
}
}
}
}
//具体你要干嘛自己弄了!
JAVA读取xml文件中节点值
import w c dom *;
import javax xml parsers *;
import java io *;
public class Parse{
//Document可以看作是XML在内存中的一个镜像 那么一旦获取这个Document 就意味着可以通过对
//内存的操作来实现对XML的操作 首先第一步获取XML相关的Document
private Document doc=null;
public void init(String xmlFile) throws Exception{
//很明显该类是一个单例 先获取产生DocumentBuilder工厂
//的工厂 在通过这个工厂产生一个DocumentBuilder
//DocumentBuilder就是用来产生Document的
DocumentBuilderFactory dbf=DocumentBuilderFactory newInstance();
DocumentBuilder db=dbf newDocumentBuilder();
//这个Document就是一个XML文件在内存中的镜像
doc=db parse(new File(xmlFile));
}
//该方法负责把XML文件的内容显示出来
public void viewXML(String xmlFile) throws Exception{
this init(xmlFile);
//在xml文件里 只有一个根元素 先把根元素拿出来看看
Element element=doc getDocumentElement();
System out println( 根元素为: +element getTagName());
NodeList nodeList=doc getElementsByTagName( dbstore );
System out println( dbstore节点链的长度: +nodeList getLength());
Node fatherNode=em( );
System out println( 父节点为: +fatherNode getNodeName());
//把父节点的属性拿出来
NamedNodeMap attributes=fatherNode getAttributes();
for(int i= ;iattributes getLength();i++){
Node attribute=em(i);
System out println( dbstore的属性名为: +attribute getNodeName()+ 相对应的属性值为: +attribute getNodeValue());
}
NodeList childNodes = fatherNode getChildNodes();
System out println(childNodes getLength());
for(int j= ;jchildNodes getLength();j++){
Node childNode=em(j);
//如果这个节点属于Element 再进行取值
if(childNode instanceof Element){
//System out println( 子节点名为: +childNode getNodeName()+ 相对应的值为 +childNode getFirstChild() getNodeValue());
System out println( 子节点名为: +childNode getNodeName()+ 相对应的值为 +childNode getFirstChild() getNodeValue());
}
}
}
public static void main(String[] args)throws Exception{
Parse parse=new Parse();
//我的XML文件
parse viewXML( netct xml );
}
lishixinzhi/Article/program/Java/hx/201311/26710