在做一般的XML
数据交换过程中,我更乐意传递XML
字符串,而不是格式化的XML Document
。这就涉及到XML
字符串和Xml Document
的转换问题,说白了这是个很简单的问题,本文就各种XML
解析器分别列举如下,以方便自己今后查阅。
一、使用最原始的javax.xml.parsers
,标准的jdk api
//
字符串转XML
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);
//XML
转字符串
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();
这里的XML DOCUMENT
为org.w3c.dom.Document
二、使用dom4j
后程序变得更简单
//
字符串转XML
String xmlStr = \"......\";
Document document = DocumentHelper.parseText(xmlStr);
// XML
转字符串
Document document = ...;
String text = document.asXML();
这里的XML DOCUMENT
为org.dom4j.Document
三、使用JDOM
JDOM
的处理方式和第一种方法处理非常类似
//
字符串转XML
String xmlStr = \".....\";
StringReader sr = new StringReader(xmlStr);
InputSource is = new InputSource(sr);
Document doc = (new SAXBuilder()).build(is);
//XML
转字符串
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();
这里的XML DOCUMENT
为org.jdom.Document
四、JAVASCRIPT
中的处理
//
字符串转XML
var xmlStr = \".....\";
var xmlDoc = new ActiveXObject(\"Microsoft.XMLDOM\");
xmlDoc.async=false;
xmlDoc.loadXML(xmlStr);
//
可以处理这个xmlDoc
了
var name = xmlDoc.selectSingleNode(\"/person/name\");
alert(name.text);
//XML
转字符串
var xmlDoc = ......;
var xmlStr = xmlDoc.xml
这里的XML DOCUMENT
为javascript
版的XMLDOM
分享到:
相关推荐
Mini-XML 是一个小型 XML 解析库,您可以使用它来读取应用程序中的 XML 数据文件或字符串,而无需大型非标准库 读取 UTF-8 和 UTF-16 并写入 UTF-8 编码的 XML 文件和字符串。 数据存储在链表树结构中,保留 XML ...
主要介绍了SQL Server解析XML数据的方法,结合实例形式详细分析了SQL Server针对xml数据的读取,遍历,删除,查找等常用操作技巧,具有一定参考借鉴价值,需要的朋友可以参考下
WebService在传递数据的时候只能传递字符串,当我们返回一些简单的字符串时我们可以直接返回,但是当我们想返回比如List,Map等复杂类型的数据时拼接字符串就是个很麻烦的工作,这时我们就用到了dom4j这个工具。
XMLTYPE_instance:XML数据类型的字段,用于保存XML ,XPath_string:操作的节点路径,例如:/info/Owner。 绝对路径与相对路径:区别在于路径字符串最前面的斜杠是否存在,有斜杠代表绝对路径,没有斜杠则是相对路径...
大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,建立临时LOB。 大数据量,返回值虽然是CLOB,依然会报错; CLOB变量需要dbms_lob.createtemporary,临时表空间中,...
#PCDATA 可解析字符串。 1)DTD的调用 方式一:调用内部文档类型定义。 <?xml version="1.0" standalone="yes"?> <!DOCTYPE studinfo[<!ELEMENT studinfo (#PCDATA)>]> 注意点: (1) studinfo与(#PCDATA)有...
2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 CDATA部分 2.10 文档结构 2.10.1...
2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 CDATA部分 2.10 文档结构 2.10.1...
A.CDATA数据类型表示可以使用任意的字符串 B.属性在元素中的排列与它声明的先后顺序无关 C.内部DTD的声明一定要位于文档的XML声明之后和第一个元素之后 D.非解析实体XML处理器不会对它进行解释 6.下列不存在的实体是...
2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 CDATA部分 2.10 文档结构 2.10.1...
2.3.8 字符串 2.4 字符数据 2.5 属性 2.5.1 特殊属性 2.5.2 空白 2.5.3 行尾的处理 2.6 字符引用和实体引用 2.6.1 字符引用 2.6.2 实体引用 2.7 处理指令 2.8 注释 2.9 CDATA部分 2.10 文档结构 2.10.1...
您可以将标记或属性的值解析为原始类型:字符串,整数,浮点数,十六进制或布尔值。 并且可以选择解码为HTML char。 您可以在解析时从标记或属性名称中删除名称空间 它支持布尔属性(如果已配置)。 如何使用 要在...
当前位置允许你增加一个元素到文档中的这个位置,而不需要明确指出增加对象到文档的这点上,在CMarkup的有效生命周期里,对象一直保持着一个用来描述文档的字符串,当你调用GetDoc.可以得到它。
在前端传入的是json字符串,后台按字符串string参数接收再解析。 请求头contentType设置为application/x-www-form-urlencoded;charset=utf-8。 后台接收请求的方法的参数可以用String类型 @RequestBody 是作用在形参...
老版本的TinyXML“保留”了字符实体,而在新版本中它们会被转化成字符串。 另外,所有字符都可以用它的Unicode编码数字来指定, " "和" "都表示不可分的空格字符。 打印 TinyXML有几种不同的方式来打印输出,...
2.3.8 字符串 29 2.4 字符数据 29 2.5 属性 30 2.5.1 特殊属性 31 2.5.2 空白 33 2.5.3 行尾的处理 34 2.6 字符引用和实体引用 34 2.6.1 字符引用 34 2.6.2 实体引用 34 2.7 处理指令 35 2.8 注释 36 2.9 CDATA部分 ...
4.1.3 XML数据的组织... 46 4.2 数据的XML化... 48 4.2.1 开始编写文档:XML声明和根元素... 48 4.2.2 联赛(League)、(分部)Division和(球队)Team数据的XML化... 49 4.2.3 球员数据的XML化... 52 4.2.4 ...
分别是XML快速入门,XML的概念,XML的术语,XML的实现,XML的实例分析。最后附录介绍了XML的相关资源。作者站在普通网页设计人员的角度,用平实生动的语言,向您讲述XML的方方面面,帮助你拨开XML的神秘面纱,快速...
通常最常见的是”application/json”格式,也就是通过JSON字符串形式。 在控制台看到的数据就是这样: 有的时候后台需要Form形式的数据才能正常解析,所以前端需要在传过去时修改一下格式。开始我以为是修改...
14.11.2 数字到字符串的变换 486 14.12 对输出元素排序 488 14.13 CDATA和<符 491 14.14 方式 493 14.15 使用xsl:variable定义常数 496 14.16 命名模板 496 14.16.1 参数 498 14.17 删除和保留空白 501 14.18 选择 ...