xml和string和xml和CDATA的用法

原创 2015年11月20日 15:54:58

xml和string和xml和CDATA的用法


StringToXml.java


import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.StringReader;


import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
import org.dom4j.Node;
import org.dom4j.io.OutputFormat;
import org.dom4j.io.SAXReader;
import org.dom4j.io.XMLWriter;


public class StringToXml {
public static void xmlTest(){
String xml="<?xml version='1.0' encoding='UTF-8' standalone='yes'?>" +
"<root>" +
"<head>" +
"<name>MyName</name>" +
"<age><![CDATA[11]]></age>" +                                                //要注意   CDATA   格式的写法哦,不要缺少"<"符号
"</head>" +
"</root>";

//输出这个String类型的XML
System.out.println("输出这个String类型的XML:\n"+xml);

//将String的XML转化为XML类型并输出
Document document=null;
try {
document = DocumentHelper.parseText(xml);
} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}    
//为节点增加子节点
document.getRootElement().addElement("testNode_Add");
document.getRootElement().addElement("testNode_Add2");

//获取子节点并显示子节点的内容
System.out.println("\n获取子节点并显示子节点的内容:");
Element rt = document.getRootElement();
   Node nameNode=rt.selectSingleNode("/root/head/name");
   Node ageNode=rt.selectSingleNode("/root/head/age");
   rt.selectSingleNode("/root/testNode_Add").setText("实验新增节点");
   
   Element note2=(Element) rt.selectSingleNode("/root/testNode_Add2");
note2.addCDATA("实验CDATA节点内容");
   
   Node testNode_AddNode=rt.selectSingleNode("/root/testNode_Add");
   Node testNode_AddNode2=rt.selectSingleNode("/root/testNode_Add2");
   
   System.out.println("nameNode="+nameNode.getText());
   System.out.println("ageNode="+ageNode.getText());
   System.out.println("testNode_AddNode="+testNode_AddNode.getText());
   System.out.println("testNode_AddNode2="+testNode_AddNode2.getText());
   
   //将XML转化String
   String xml2=document.asXML();
   System.out.println(xml2);
   
   
   Document document2=null;
   SAXReader reader = new SAXReader();
   
   //将String转化为XML
StringReader stringReader = new StringReader(xml2.trim());
try {
document2 = reader.read(stringReader);

//XML转化为String
System.out.println("2"+document2.asXML());

} catch (DocumentException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

//将XML格式化显示在操作台-默认是utf-8
OutputFormat outPutFormat=OutputFormat.createPrettyPrint();
outPutFormat.setEncoding("GBK");//如果要更改字符格式

XMLWriter xmlWriter=new XMLWriter(new OutputStreamWriter(System.out),outPutFormat);
try {
System.out.println("\n");
xmlWriter.write(document);
xmlWriter.flush();
System.out.println("\nxmlWriter.close();之后的代码都不会再运行");
xmlWriter.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}


}

public static void main(String [] args){
xmlTest();
}


}

版权声明:本文为博主原创文章,欢迎转载,转载请声明出处 http://blog.csdn.net/bestcxx。

相关文章推荐

JAVA JDOM解析XML 带CDATA数据

import java.io.StringReader; import java.util.*; import org.jdom.Document; import org.jdom.Element...

java注解生成xml和包含CDATA问题

百度java生成xml,有一大推的文章,主要的生成方式一种使用Dom4J ,还有一种使用Jdk自带注解类! 下面主要整理我注解类的使用,(可以参考这篇文章Dom4J生成xml和包含CDATA问题)和...

xml中CDATA作用

本文主要介绍xml中CDATA作用。    为了解决属性值中使用XML中的特殊字符,xml使用类似的转义字符去描述。   字符 转移字符 ...

为XML添加CDATA标记

CDATA标记用户处理XML中出现 ,在消息传输过程中,为什么要加上这一段字符串? 首先,先来了解一下什么是CDATA? 术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据。 ...

string.xml的用法总结

加粗字体 斜体字体 给字体加下划线 \n 换行 \u0020表示空格 \u2026表示省略号 使用&lt;b>和&lt;b>来打印出 这样的文字;“&lt;”表示“<”的意思; 使用te...

Android之string.xml 使用总结

昨天看公司项目的时候,发现在定义String.xml的时候,用到了%1$s变量文本格式,不太理解。上网翻看了博客,才知道是这么做的。既然对String.xml不太了解,顺便多看几篇大神的博文总结下。 ...

在Android String文件中使用CDATA

Android系统提供了对简单的HTML标签的支持,方便开发者设置格式化的文本内容,比如斜体、粗体等。 通过 android.text.Html.fromHtml(String source) 函数...

XML:标签CDATA用法

  • 2012-01-29 16:25
  • 28KB
  • 下载

XML CDATA是什么?

转自: http://www.cnblogs.com/kerrycode/archive/2010/05/19/1738989.html 博主的内容也可以看一下 解析数据 XML 解析器...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)