string to xml java_Java String to XML - Parse String to XML DOM Example - 入门小站-rumenz.com

在Java中,XML用org.w3c.dom.Document对象表示。 在本XML教程中,我们将学习-将XML string to XML转换string to XML文档

将XML文件内容转换为XML文档

1) Convert String to XML Document

要将XML字符串转换为XML Dom ,我们需要以下类:

javax.xml.parsers.DocumentBuilder :定义API,以从来自各种输入源的XML内容中获取XML DOM Document实例。 这些输入源是InputStreams,Files,URL和SAX InputSources。

javax.xml.parsers.DocumentBuilderFactory :定义一个工厂API,使应用程序能够获取解析器( DocumentBuilder ),该解析器从XML内容生成DOM对象树。

org.w3c.dom.Document :它表示整个XML DOM。 从概念上讲,它是文档树的根,并通过工厂方法提供对文档数据的访问,直到树的下层。

java.io.StringReader :从字符串内容创建流。 DocumentBuilder使用此流读取XML内容进行解析。package com.howtodoinjava.demo;

import java.io.StringReader;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

import org.xml.sax.InputSource;

public class StringtoXMLExample

{

public static void main(String[] args)

{

final String xmlStr = "" +

"" +

" Lokesh Gupta" +

"

Author" +

"" +

"" +

" Brian Lara" +

"

Cricketer" +

"" +

"";

//Use method to convert XML string content to XML Document object

Document doc = convertStringToXMLDocument( xmlStr );

//Verify XML document is build correctly

System.out.println(doc.getFirstChild().getNodeName());

}

private static Document convertStringToXMLDocument(String xmlString)

{

//Parser that produces DOM object trees from XML content

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

//API to obtain DOM Document instance

DocumentBuilder builder = null;

try

{

//Create DocumentBuilder with default configuration

builder = factory.newDocumentBuilder();

//Parse the content to Document object

Document doc = builder.parse(new InputSource(new StringReader(xmlString)));

return doc;

}

catch (Exception e)

{

e.printStackTrace();

}

return null;

}

}

//Output:

employees

2) Convert XML file to XML Document

要从XML文件获取XML dom ,而不是将XML字符串传递给DocumentBuilder ,而是传递文件路径以使解析器直接读取文件内容。

我们有一个具有XML内容的employees.xml文件,我们将阅读以获取XML文档。

Lokesh Gupta

Author

Brian Lara

Cricketer

package com.howtodoinjava.demo;

import java.io.File;

import javax.xml.parsers.DocumentBuilder;

import javax.xml.parsers.DocumentBuilderFactory;

import org.w3c.dom.Document;

public class StringtoXMLExample

{

public static void main(String[] args)

{

final String xmlFilePath = "employees.xml";

//Use method to convert XML string content to XML Document object

Document doc = convertXMLFileToXMLDocument( xmlFilePath );

//Verify XML document is build correctly

System.out.println(doc.getFirstChild().getNodeName());

}

private static Document convertXMLFileToXMLDocument(String filePath)

{

//Parser that produces DOM object trees from XML content

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();

//API to obtain DOM Document instance

DocumentBuilder builder = null;

try

{

//Create DocumentBuilder with default configuration

builder = factory.newDocumentBuilder();

//Parse the content to Document object

Document doc = builder.parse(new File(filePath));

return doc;

}

catch (Exception e)

{

e.printStackTrace();

}

return null;

}

}

//Output:

employees

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值