时间:2021-05-19
复制代码 代码如下:
import java.util.Iterator;
import java.util.List;
import org.dom4j.Attribute;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
String xml = "<request> <param name='service'>single_trade_query </param><param name='_input_charset'>utf-8 </param><param name='partner'>2088001513232645 </param><param name='out_trade_no'>20090422577264 </param></request>";
Document document = DocumentHelper.parseText(xml);
Element root = document.getRootElement();
List<Element> elements = root.elements();
for (Iterator<Element> it = elements.iterator(); it.hasNext();) {
Element element = it.next();
List<Attribute> attributes = element.attributes();
for (int i = 0; i < attributes.size(); i++) {
Attribute attribute = attributes.get(i);
if ("service".equals(attribute.getText())) {
System.out.println(element.getName() + " : "
+ element.getText());
}
}
}
}
}
或者:
复制代码 代码如下:
import java.io.StringReader;
import java.util.Iterator;
import java.util.List;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.InputSource;
public class Test {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws Exception {
String xml = "<servlet><description></description><display-name>TestServlet</display-name><servlet-name>TestServlet</servlet-name><servlet-class>test.TestServlet</servlet-class></servlet>";
InputSource in = new InputSource(new StringReader(xml));
in.setEncoding("UTF-8");
SAXReader reader = new SAXReader();
Document document = reader.read(in);
Element root = document.getRootElement();
List<Element> elements = root.elements();
for(Iterator<Element> it = elements.iterator();it.hasNext();){
Element element = it.next();
System.out.println(element.getName()+" : "+element.getTextTrim());
}
}
}
或者增加ID属性,直接通过ID获取某个属性值:
复制代码 代码如下:
import java.io.StringReader;
import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;
import org.xml.sax.InputSource;
public class Test {
public static void main(String args[]) {
String xml = "<request> <param name='service' ID='tt'>single_trade_query </param><param name='_input_charset'>utf-8 </param><param name='partner'>2088001513232645 </param><param name='out_trade_no'>20090422577264 </param></request>";
InputSource source = new InputSource(new StringReader(xml));
SAXReader reader = new SAXReader();
Document document = null;
try {
document = reader.read(source);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Element root = document.getRootElement();
System.out.println(document.elementByID("tt").getTextTrim());
System.out.println(root.elementByID("tt").getTextTrim());
}
}
注意:通过ID获取,元素ID属性名必须为“大写ID”,小写的“id”会认为是普通属性!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
一、背景 项目中要解析xml,由于Dom4j的诸多优点,我就用Dom4j解析xml,代码如下:publicvoidreadXML(){SAXReaderrea
其实解析xml文件有四种方式:DOM,JDOM,DOM4J,SAX。我们来说与平台无关的两种官方解析方式:DOM和SAX一、DOM解析在Java代码中,xml文
dom4j是Java的XMLAPI,用来读写XML文件的。目前有很多场景中使用dom4j来读写xml的。要使用dom4j开发,需要下载导入dom4j相应的jar
本文实例讲述了java基于dom4j包实现对XML解析的方法。分享给大家供大家参考,具体如下:本例中的xml文件内容如下:Java解析XML代码如下:packa
解析的四种方式DOM解析SAX解析JDOM解析DOM4J解析案例实操DOM解析DOM(DocumentObjectModel,文档对象模型),在应用程序中,基于