开发者博客:www.developsearch.com
在 web项目中,XML作为一种重要的数据存储和传输介质,被广泛使用。XML文件,XML字符串和XML Document对象是XML存在的三种形式,XML文件无需多言,和普通的文本并无二致;倒是在做一般的XML数据交换过程中,经常要使用XML字符串 和XML Document对象,因此在这两种形式之间进行转化成为了使用XML的必备技术。在所有操控XML的技术中,都提供了这两种形式XML之间的转换方法。
下面我就各种XML技术对此问题的解决方法做个总结,和大家分享,也方便自己今后查阅。
一,使用JDOM(这是我最常使用的一种技术)
1.字符串转Document对象
String xmlStr = ".....";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);
Format format = Format.getPrettyFormat();
format.setEncoding("gb2312");//设置xml文件的字符为gb2312,解决中文问题
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();
format.setEncoding("gb2312");//设置xml文件的字符为gb2312,解决中文问题
XMLOutputter xmlout = new XMLOutputter(format);
ByteArrayOutputStream bo = new ByteArrayOutputStream();
xmlout.output(doc,bo);
String xmlStr = bo.toString();
二,使用最原始的javax.xml.parsers,标准的jdk api
1.字符串转Document对象
String xmlStr = "......";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder=factory.newDocumentBuilder();
Document doc = builder.parse(is);
TransformerFactory tf = TransformerFactory.newInstance();
Transformer t = tf.newTransformer();
t.setOutputProperty("encoding","GB23121");//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();
Transformer t = tf.newTransformer();
t.setOutputProperty("encoding","GB23121");//解决中文问题,试过用GBK不行
ByteArrayOutputStream bos = new ByteArrayOutputStream();
t.transform(new DOMSource(doc), new StreamResult(bos));
String xmlStr = bos.toString();
三,使用dom4j(这是最简单的方法)
1.字符串转Document对象
String xmlStr = "......";
Document document = DocumentHelper.parseText(xmlStr);
Document document = DocumentHelper.parseText(xmlStr);
Document document = ...;
String text = document.asXML();
String text = document.asXML();
四,在JavaScript中的处理
1.字符串转Document对象
var xmlStr = ".....";
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
//可以处理这个xmlDoc了
var name = xmlDoc.selectSingleNode("/person/name");
alert(name.text);
var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
//可以处理这个xmlDoc了
var name = xmlDoc.selectSingleNode("/person/name");
alert(name.text);
var xmlDoc = ......;
var xmlStr = xmlDoc.xml
var xmlStr = xmlDoc.xml
相关推荐
利用pugixml 转化xml为string
dom4j的操作 ,dom4j转化为String,String转化为xml
`String.xml`文件是Android系统用来存储应用中所有文本资源的主要方式,它使得开发者能够方便地管理和国际化应用的文本内容。本工具就是专为处理`String.xml`与Excel表格之间的相互转换而设计的,方便开发者进行批量...
String xmlString = "<book><title>标题</title><author>作者</author><year>年份</year></book>"; // 将XML字符串转换为JSON对象 JSONObject jsonObject = XML.toJSONObject(xmlString); // 输出JSON字符串...
在IT行业中,尤其是在Android或者iOS应用开发中,`String.xml` 文件是用于管理应用程序中所有字符串资源的关键文件。它允许开发者集中地定义、管理和翻译应用中的文本,提高代码的可维护性和可扩展性。本工具则专注...
然而,对于非编程背景的翻译人员来说,直接在XML文件中进行翻译工作可能较为困难,因此出现了“String.xml转Excel翻译工具”。这种工具能够将XML格式的字符串资源转换成更易编辑的Excel表格,以便于翻译和管理。 ...
为了方便管理这些多语言资源,Android使用`String.xml`文件来存储应用中的文本字符串。然而,手动编辑这些XML文件既耗时又容易出错,尤其是在处理大量文本时。这时,就需要借助一些工具进行`String.xml`与Excel之间...
byte[] postArray = Encoding.ASCII.GetBytes(xmlString); client.Headers.Add("Content-Type", "text/xml"); byte[] responseArray = client.UploadData(url, postArray); ``` 这段代码中,首先定义了一个包含XML...
XML(Extensible Markup Language)和JSON(JavaScript Object Notation)是两种常见的数据交换格式,广泛应用于Web服务和数据传输。XML以其丰富的结构化特性而著名,而JSON则以简洁、易于阅读和处理的特性受到青睐...
这时,"String.XML转Excel的工具"就显得尤为实用。这个工具能够帮助开发者将`string.xml`文件转换为Excel表格,使得编辑和管理变得更加直观和高效。同时,该工具还支持将Excel表格再转换回`string.xml`,确保了开发...
Map<String, String> map = EasyXmlUtil.xmlToMap(xmlString); String xmlString = EasyXmlUtil.mapToXml(map); ``` 总结来说,`EasyXmlUtil`是一个实用的Java工具类,它封装了XML与Map之间的相互转换功能,使得...
4. 使用XMLSerializer将XML转换为JSONObject:`JSONObject json = XMLSerializer.read(xmlString);` 如果是从XML Document转换,可以使用`XMLSerializer.read(document)`。 5. 转换后的JSONObject可以直接序列化为...
首先,XML转实体类的过程通常涉及到Java的反射API。反射允许程序在运行时检查类的信息,包括其字段和方法,从而动态地创建对象并调用其方法。当解析XML时,我们可以通过节点名称匹配到相应的类字段,然后使用反射来...
在Java编程中,XML(eXtensible Markup Language)是一种常用的数据交换格式,它结构清晰、易于阅读,常用于存储和传输数据。当处理XML文件时,有时我们需要将其内容转换为Java对象,如List,以便于操作和处理。本篇...
这个“XML_string_file_parser.rar”压缩包显然包含了一个关于如何解析XML字符串的示例程序,主要涉及XML解析的核心概念和技术。 首先,XML的结构基于元素(Elements),每个元素可以包含其他元素或文本内容,以及...
npm install --save xmlstring2json bower方式安装 bower install xmlstring2json 用法示例: bookstore.xml文件 <title>Harry Potter</title> J K. Rowling 2005 29.99 <title>...
String xml = "<root><element>Value</element></root>"; ObjectMapper xmlMapper = new XmlMapper(); ObjectNode xmlTree = xmlMapper.readTree(xml); String json = xmlMapper.writeValueAsString(xmlTree); ...
string xmlString = "<Root><Element>Value</Element></Root>"; xd.LoadXml(xmlString); ``` 或者,如果XML数据存储在一个文件中,你可以使用`Load`方法: ```csharp string filePath = "path_to_your_xml_file.xml...
在这个场景中,我们关注的是如何使用DOM4J以String的形式读取XML内容,然后将String的值赋给XML中的特定节点,最后将更新后的内容写回XML文件。下面我们将详细探讨这一过程。 1. **解析XML到String** 要将XML文件...
String xmlString2 = "<person><name>John</name><age>30</age></person>"; JsonNode xmlNode = xmlMapper.readTree(xmlString2); String jsonString2 = jsonMapper.writeValueAsString(xmlNode); ``` - JAXB...