C# XML中的转义字符操作

C# XML中 &lt;、 &gt; 等转义字符转为 <、>等符号

using System.IO;
using System.Xml;
public string ToXML(string str)
  {
   StringReader Reader = new StringReader(str);
   XmlDocument xml = new XmlDocument();
   xml.Load(Reader);
   return xml.InnerText.ToString();

  }

C# XML中<、>等符号转为 &lt;、 &gt; 等转义字符

using System.IO;
using System.Runtime.Serialization;
public string ToXML(string str)
  {
   using (MemoryStream ms = new MemoryStream())
   {
    XmlObjectSerializer sz = new DataContractSerializer(obj.GetType());
    sz.WriteObject(ms, str);
    string res = Encoding.UTF8.GetString(ms.ToArray());
    return res;
   }
  }

补充:C#中的转义字符和Verbatim字符串

C#中的转义字符跟C/C++的定义一致。有以下常用转移字符:


转义字符


字符名称


\'


单引号


\"


双引号


\\


反斜杠


\0


空字符


\a


警报符


\b


退格


\f


换页


\n


换行


\r


回车


\t


水平制表


\v


垂直制表

Verbatim字符串

对于verbatim字符串,编译 器会严格按照原样对其进行解释。也就是说,即使这个字符串跨越多行,或是包含转义字符,编译器也将不予理会,即这些格式和转义符将按照原样输出。

唯一例外的是引号,编译器必须将其转义,因为只有这样才能确定字符串的边界。

Verbatim字符串的定义语法为以@符号开始,后面紧跟包含在引号中的字符串。

例如:

string sample = @"Hello";
string sample = @"Hello\tworld"; //生成Hello\tworld

以下是一个实用的示例:

string sample=@"C:\My Documents\sample.txt";
//结果为:C:\My Documents\sample.txt,如同语句:string sample="C:\\My Documents\\sample.txt"

若想在Verbatim字符串内使用引号,必须使用附加的引号组将其转义。例如,生成字符串"Hi"的代码如下:

String s=@" " "Hi"""; //注意:两边都有3个引号

上述代码将生成下列字符串:

"Hi"

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。如有错误或未考虑完全的地方,望不吝赐教。

(0)

相关推荐

  • C# XML字符串包含特殊字符的处理转换方法小结

    为了能正常输出XML格式的内容,必须要对不被XML允许的那些特殊字符进行转换.本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行转换. 以下是几个特殊字符的对应实体. < < 小于号 > > 大于号 & & 和 &apos; ' 单引号 " " 双引号 在C#中,直接调用C#提供的方法,保存之后就会自动将特殊字符转为对应实体: string s =System.Security.SecurityElement.Escape(s

  • C#正则表达式转义字符介绍

    正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 转义匹配语法: "\"+实际字符 \ . * + ? | ( ) { }^ $ [ ] 例如:\\匹配字符"\" \n 匹配换行 \r 匹配回车 \t 匹配水平制表符 \v 匹配垂直制表符 \f 匹配换页 \nnn 匹配一个8进制ASCII \xnn 匹配一个16进制ASCII \unnnn 匹

  • 详解C#中的字符串拼接@ $

    一:@ @的意思是以@标注的字符出,其中所有的符号均为字符串符号,没有什么特殊字符,如''什么的,均默认为字符串 static void Main(string[] args) { //这样就很方便写读取的文件路径,也不需要什么转义字符了 StreamReader sr = new StreamReader(@"C:\Users\WANGWI8\Desktop\testStreamRead.txt"); string line; while( (line = sr.ReadLine()

  • C# XML中的转义字符操作

    C# XML中 <. > 等转义字符转为 <.>等符号 using System.IO; using System.Xml; public string ToXML(string str) { StringReader Reader = new StringReader(str); XmlDocument xml = new XmlDocument(); xml.Load(Reader); return xml.InnerText.ToString(); } C# XML中<

  • java中四种操作xml方式的比较

    1)DOM(JAXP Crimson解析器) DOM是用与平台和语言无关的方式表示XML文档的官方W3C标准.DOM是以层次结构组织的节点或信息片断的集合.这个层次结构允许开发人员在树中寻找特定信息.分析该结构通常需要加载整个文档和构造层次结构,然后才能做任何工作.由于它是基于信息层次的,因而DOM被认为是基于树或基于对象的.DOM以及广义的基于树的处理具有几个优点.首先,由于树在内存中是持久的,因此可以修改它以便应用程序能对数据和结构作出更改.它还可以在任何时候在树中上下导航,而不是像SAX那

  • JS操作XML中DTD介绍及使用方法分析

    本文实例讲述了JS操作XML中DTD介绍及使用方法.分享给大家供大家参考,具体如下: 什么是DTD,为什么需要DTD? DTD为英文Document Type Definition,中文意思为"文档类型定义".DTD肩负着两重任务:一方面它帮助你编写合法的代码,另一方面它让浏览器正确地显示器代码. 一个HTML文档的基本结构可分为两个主要部分: <html> <head> 头部信息 </head> <body> 可视内容 </bod

  • PHP操作XML中XPath的应用示例

    本文实例讲述了PHP操作XML中XPath的应用.分享给大家供大家参考,具体如下: XPath即为XML路径语言,它是一种用来确定XML(标准通用标记语言的子集)文档中某部分位置的语言.XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力.起初 XPath 的提出的初衷是将其作为一个通用的.介于XPointer与XSLT间的语法模型.但是 XPath 很快的被开发者采用来当作小型查询语言. XPath设计的核心思想:迅速定位(不是通过循环遍历)到你所需要的元素(或者节点).PHP 文

  • Spring中的事务操作、注解及XML配置详解

    事务 事务全称叫数据库事务,是数据库并发控制时的基本单位,它是一个操作集合,这些操作要么不执行,要么都执行,不可分割.例如我们的转账这个业务,就需要进行数据库事务的处理. 转账中至少会涉及到两条 SQL 语句: update Acoount set balance = balance - money where id = 'A'; update Acoount set balance = balance + money where id = 'B' 上面这两条 SQL 就可以要看成是一个事务,必

  • 往xml中更新节点的实例代码

    往xml中更新节点的实例代码 /* System.out.println("2323"); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); DocumentBuilder docbuilder = factory.newDocumentBuilder(); Document parse = docbuilder .parse(new File("src/ProdQuery.xml&q

  • JQuery中Ajax的操作完整例子

    Java软件开发中,后台中我们可以通过各种框架,像SSH等进行对代码的封装,方便我们对Java代码的编写,例如,Struts,SpringMVC对从前台到action的流程进行封装控制,使我们只需要进行一些简单配置就可以实现:而spring进行了对各种对象的管理进行封装,提供了AOP编程的方式,大大方便了我们:而hibernate和IBatis则是对JDBC代码进行封装,不需要我们每次都写那些重复而繁杂的JDBC代码. 前台呢,对于页面一些效果,验证等,我们都是通过JavaScript语言进行完

  • Android中数据库常见操作实例分析

    本文实例讲述了Android中数据库常见操作.分享给大家供大家参考,具体如下: android中数据库操作是非常常见了,我们会经常用到,操作的方法也有很多种形式,这里我就把最常见的两种形式记录下来了,以备以后用到方便查看.我就不写注释和解释了,因为android数据库的操作和其它数据库操作本质上都是一样的,大同小异.需要的一些基本解释都在代码中,直接上代码了. 简单的代码文件目录: 首先这个类是数据库帮助类,DBHelper.java,代码如下: package net.loonggg.db;

  • Android在layout xml中使用ViewStub完成动态加载问题

    一.Layout XML文件常见的两种模块加载方式 1.静态加载:被加载的模块和其它模块加载的时间一样. <include layout="@layout/otherLayout"/> 2.动态加载:需要被加载的模块初始时并没有被加载进内存,在你需要加载这个模块才会被动态的加载进去. <ViewStub android:layout="@layout/otherLayout"/> 还要把layout width和height加上 二.View

  • PHP实现动态添加XML中数据的方法

    本文实例讲述了PHP实现动态添加XML中数据的方法.分享给大家供大家参考,具体如下: 前面简单讲述了xml文档的创建,这里继续讨论xml中数据的动态添加: 一. 代码 <?php class Message_XML extends DomDocument{//定义类Message_XML并继承DomDocument类 private $Root; public function __construct(){//构造函数 parent:: __construct(); if(!file_exist

随机推荐