java中dom4j解析xml文件怎么获取节点属性
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中dom4j解析xml文件怎么获取节点属性相关的知识,希望对你有一定的参考价值。
说详细点 最好有代码。
dom4j中,使用Element.attributes方法可以获取到节点的属性,而使用elements则可以获取相应的子节点比如:
Element root = doc.getRootElement();
List attrList = root.attributes();
for (int i = 0; i < attrList.size(); i++)
//属性的取得
Attribute item = (Attribute)attrList.get(i);
System.out.println(item.getName() + "=" + item.getValue());
List childList = root.elements();
for (int i = 0; i < childList.size(); i++)
//子节点的操作
Element it = (Element) childList.get(i);
//对子节点进行其它操作...
参考技术A java读取xml节点元素,主要使用java提供的解析xml的工具类SAXParserFactory,如下代码:package
xml.xmlreader;import
java.io.File;import
java.net.URL;import
java.util.Properties;import
javax.xml.parsers.SAXParser;import
javax.xml.parsers.SAXParserFactory;public
class
CFGParser
//解析xml文件的工具类
private
Properties
props;
public
Properties
getProps()
return
props;
public
void
setProps(Properties
props)
this.props
=
props;
public
void
parse(String
filename)
throws
Exception
CFGHandler
handler
=
new
CFGHandler();
SAXParserFactory
factory
=
SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParser
parser
=
factory.newSAXParser();
URL
confURL
=
super.getClass().getClassLoader().getResource(filename);
if
(confURL
==
null)
System.out.println("Can't
find
configration
file.");
return;
try
parser.parse(confURL.toString(),
handler);
this.props
=
handler.getProps();
finally
factory
=
null;
parser
=
null;
handler
=
null;
public
void
parseFile(String
filename)
throws
Exception
CFGHandler
handler
=
new
CFGHandler();
SAXParserFactory
factory
=
SAXParserFactory.newInstance();
factory.setNamespaceAware(false);
factory.setValidating(false);
SAXParser
parser
=
factory.newSAXParser();
File
f
=
new
File(filename);
if
((f
==
null)
||
(!f.exists()))
return;
try
parser.parse(f,
handler);
this.props
=
handler.getProps();
finally
factory
=
null;
parser
=
null;
handler
=
null;
package
xml.xmlreader;import
java.util.Properties;import
org.xml.sax.Attributes;import
org.xml.sax.SAXException;import
org.xml.sax.helpers.DefaultHandler;public
class
CFGHandler
extends
DefaultHandler
private
Properties
props;
private
String
currentSet;
private
String
currentName;
private
StringBuffer
currentValue
=
new
StringBuffer();
public
CFGHandler()
this.props
=
new
Properties();
public
Properties
getProps()
return
this.props;
public
void
startElement(String
uri,
String
localName,
String
qName,
Attributes
attributes)
throws
SAXException
this.currentValue.delete(0,
this.currentValue.length());
this.currentName
=
qName;
public
void
characters(char[]
ch,
int
start,
int
length)
throws
SAXException
this.currentValue.append(ch,
start,
length);
public
void
endElement(String
uri,
String
localName,
String
qName)
throws
SAXException
this.props.put(qName.toLowerCase(),
this.currentValue.toString().trim());
xml文件
6
10
23:00
12:00
18:00jsp获取各个节点的值:
以上是关于java中dom4j解析xml文件怎么获取节点属性的主要内容,如果未能解决你的问题,请参考以下文章