java处理xml格式(java处理xml格式字符串)

http://www.itjxue.com  2023-02-25 06:32  来源:未知  点击次数: 

在java在如何解析XML文件

在java环境下读取xml文件的方法主要有4种:DOM、SAX、JDOM、JAXB

1. DOM(Document Object Model)

此方法主要由W3C提供,它将xml文件全部读入内存中,然后将各个元素组成一棵数据树,以便快速的访问各个节点 。 因此非常消耗系统性能 ,对比较大的文档不适宜采用DOM方法来解析。 DOM API 直接沿袭了 XML 规范。每个结点都可以扩展的基于 Node 的接口,就多态性的观点来讲,它是优秀的,但是在 Java 语言中的应用不方便,并且可读性不强。

实例:

import javax.xml.parsers.*;

//XML解析器接口

import org.w3c.dom.*;

//XML的DOM实现

import org.apache.crimson.tree.XmlDocument;

//写XML文件要用到

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

//允许名字空间

factory.setNamespaceAware(true);

//允许验证

factory.setValidating(true);

//获得DocumentBuilder的一个实例

try {

DocumentBuilder builder = factory.newDocumentBuilder();

} catch (ParserConfigurationException pce) {

System.err.println(pce);

// 出异常时输出异常信息,然后退出,下同

System.exit(1);

}

//解析文档,并获得一个Document实例。

try {

Document doc = builder.parse(fileURI);

} catch (DOMException dom) {

System.err.println(dom.getMessage());

System.exit(1);

} catch (IOException ioe) {

System.err.println(ioe);

System.exit(1);

}

//获得根节点StuInfo

Element elmtStuInfo = doc.getDocumentElement();

//得到所有student节点

NodeList nlStudent = elmtStuInfo.getElementsByTagNameNS(

strNamespace, "student");

for (……){

//当前student节点元素

Element elmtStudent = (Element)nlStudent.item(i);

NodeList nlCurrent = elmtStudent.getElementsByTagNameNS(

strNamespace, "name");

}

java怎么解析xml文件?

String?xml="xmlToUserName![CDATA[toUser]]/ToUserName"

+"FromUserName![CDATA[fromUser]]/FromUserName"

+"CreateTime12345678/CreateTime"

+"MsgType![CDATA[text]]/MsgType"

+"Content![CDATA[你好]]/Content/xml";

try?{

//加载xml字符串

org.dom4j.Document?document=org.dom4j.DocumentHelper.parseText(xml);

//获取根节点

org.dom4j.Element?root=document.getRootElement();

//获取值??==toUser

String?toUserName=root.elementText("ToUserName");

System.out.println(toUserName);

}?catch?(Exception?e)?{

//?TODO?Auto-generated?catch?block

e.printStackTrace();

}

如何用JAVA将在网络读取的内容写成:XML格式...

JAVA处理XML可以使用 DOM,JDOM,SAX,DOM4J 四种中的一种,经本人测试 DOM性能最好,建议使用DOM 1)DOM import java.io.*; import java.util.*; import org.w3c.dom.*; import javax.xml.parsers.*; public class MyXMLReader{ public static void main(String arge[]){ long lasting =System.currentTimeMillis(); try{ File f=new File("data_10k.xml"); DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance(); DocumentBuilder builder=factory.newDocumentBuilder(); Document doc = builder.parse(f); NodeList nl = doc.getElementsByTagName("VALUE"); for (int i=0;i<nl.getLength();i++){ System.out.print("车牌号码:" + doc.getElementsByTagName("NO").item(i).getFirstChild().getNodeValue()); System.out.println("车主地址:" + doc.getElementsByTagName("ADDR").item(i).getFirstChild().getNodeValue()); } }catch(Exception e){ e.printStackTrace(); }

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();

}

}

}

(责任编辑:IT教学网)

更多