java处理xml格式(java处理xml格式字符串)
在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();
}
}
}