XML中的非法字符转化成实体

问题

如果XML有非法字符比如 "·",或者HTML标签<br/>。XML在解析的过程中就会出错。就无法正常解析,或者把xml反射成实体。

有些字符,像(<)这类的,对HTML标准通用标记语言下的一个应用)来说是有特殊意义的,所以这些字符是不允许在文本中使用的。要在HTML中显示(<)这个字符,我们就必须使用实体字符。

解决的办法

如果这些非法字符或者HTML标签不是我们需要的可以用striing.Replace("非法字符","")把它替换为空。

如果这些字符是必须的。我们可以替换成对应的实体。

实体参考

目录


1实体字符


2ASCII


3符号实体


4字符实体

1实体字符

一些字符在 HTML 中是预留的,拥有特殊的含义,比如小于号‘<’用于定义 HTML 标签的开始。如果我们希望浏览器正确地显示这些字符,我们必须在 HTML 源码中插入字符实体。

字符实体有三部分:一个和号‘&’和一个实体名称(或者一个‘#’ 和一个实体编号),以及一个分号‘;’。

要在 HTML 文档中显示小于号,我们需要这样写:&lt; 或者‘<’最后的效果则是<

使用实体名称而不是实体编号的好处在于,名称相对来说更容易记忆。而这么做的坏处是,并不是所有的浏览器都支持最新的实体名称,然而几乎所有的浏览器对实体编号的支持都很好。

注意:实体对大小写敏感。

2ASCI


结果

描述

实体名称

实体编号

"

quotation mark

&quot;

"


apostrophe

&apos;


&

ampersand

&amp;

&

<

less-than

&lt;

<

>

greater-than

&gt;

>

3符号实体编辑


结果

描述

实体名称

实体编号
  
non-breaking space

&nbsp;
 

¡

inverted exclamation mark

&iexcl;

¡


cent

&cent;

¢


pound

&pound;

£

¤

currency

&curren;

¤


yen

&yen;

¥

|

broken vertical bar

&brvbar;

¦

§

section

&sect;

§

¨

spacing diaeresis

&uml;

¨

©

copyright

&copy;

©

a

feminine ordinal indicator

&ordf;

ª

«

angle quotation mark (left)

&laquo;

«

¬

negation

&not;

¬
  
soft hyphen

&shy;
 

®

registered trademark

&reg;

®

ˉ

spacing macron

&macr;

¯

°

degree

&deg;

°

±

plus-or-minus

&plusmn;

±

2

superscript 2

&sup2;

²

3

superscript 3

&sup3;

³


spacing acute

&acute;

´

μ

micro

&micro;

µ


paragraph

&para;


·

middle dot

&middot;

·

¸

spacing cedilla

&cedil;

¸

1

superscript 1

&sup1;

¹

o

masculine ordinal indicator

&ordm;

º

»

angle quotation mark (right)

&raquo;

»

¼

fraction 1/4

&frac14;

¼

½

fraction 1/2

&frac12;

½

¾

fraction 3/4

&frac34;

¾

¿

inverted question mark

&iquest;

¿

×

multiplication

&times;

×

÷

division

&divide;

÷

4字符实体编辑


结果

描述

实体名称

实体编号

à

capital a, grave accent

&Agrave;

À

á

capital a, acute accent

&Aacute;

Á

Â

capital a, circumflex accent

&Acirc;

Â

Ã

capital a, tilde

&Atilde;

Ã

Ä

capital a, umlaut mark

&Auml;

Ä

Å

capital a, ring

&Aring;

Å

Æ

capital ae

&AElig;

Æ

Ç

capital c, cedilla

&Ccedil;

Ç

è

capital e, grave accent

&Egrave;

È

é

capital e, acute accent

&Eacute;

É

ê

capital e, circumflex accent

&Ecirc;

Ê

Ë

capital e, umlaut mark

&Euml;

Ë

ì

capital i, grave accent

&Igrave;

Ì

í

capital i, acute accent

&Iacute;

Í

Î

capital i, circumflex accent

&Icirc;

Î

Ï

capital i, umlaut mark

&Iuml;

Ï

D

capital eth, Icelandic

&ETH;

Ð

Ñ

capital n, tilde

&Ntilde;

Ñ

ò

capital o, grave accent

&Ograve;

Ò

ó

capital o, acute accent

&Oacute;

Ó

Ô

capital o, circumflex accent

&Ocirc;

Ô

Õ

capital o, tilde

&Otilde;

Õ

Ö

capital o, umlaut mark

&Ouml;

Ö

Ø

capital o, slash

&Oslash;

Ø

ù

capital u, grave accent

&Ugrave;

Ù

ú

capital u, acute accent

&Uacute;

Ú

Û

capital u, circumflex accent

&Ucirc;

Û

ü

capital u, umlaut mark

&Uuml;

Ü

Y

capital y, acute accent

&Yacute;

Ý

T

capital THORN, Icelandic

&THORN;

Þ

ß

small sharp s, German

&szlig;

ß

à

small a, grave accent

&agrave;

à

á

small a, acute accent

&aacute;

á

a

small a, circumflex accent

&acirc;

â

ã

small a, tilde

&atilde;

ã

ä

small a, umlaut mark

&auml;

ä

å

small a, ring

&aring;

å

æ

small ae

&aelig;

æ

ç

small c, cedilla

&ccedil;

ç

è

small e, grave accent

&egrave;

è

é

small e, acute accent

&eacute;

é

ê

small e, circumflex accent

&ecirc;

ê

ë

small e, umlaut mark

&euml;

ë

ì

small i, grave accent

&igrave;

ì

í

small i, acute accent

&iacute;

í

î

small i, circumflex accent

&icirc;

î

ï

small i, umlaut mark

&iuml;

ï

e

small eth, Icelandic

&eth;

ð

ñ

small n, tilde

&ntilde;

ñ

ò

small o, grave accent

&ograve;

ò

ó

small o, acute accent

&oacute;

ó

ô

small o, circumflex accent

&ocirc;

ô

õ

small o, tilde

&otilde;

õ

ö

small o, umlaut mark

&ouml;

ö

ø

small o, slash

&oslash;

ø

ù

small u, grave accent

&ugrave;

ù

ú

small u, acute accent

&uacute;

ú

û

small u, circumflex accent

&ucirc;

û

ü

small u, umlaut mark

&uuml;

ü

y

small y, acute accent

&yacute;

ý

t

small thorn, Icelandic

&thorn;

þ

ÿ

small y, umlaut mark

&yuml;

ÿ

显示结果

描述

实体名称

实体编号
  
空格

&nbsp;
 

<

小于号

<

<< p=""><!--

>

大于号

>

>

&

和号

&amp;

&

"

引号

&quot;

"


撇号

&apos; (IE不支持)




&cent;

¢



&pound;

£


人民币

&yen;

¥
           
时间: 2024-10-13 16:08:16

XML中的非法字符转化成实体的相关文章

xml中的非法字符

今使用Jdom生成xml文件的时候,总是出现0x0,0x8为非法字符,经过搜索,问题原因及解决方法如下: 原因: xml中需要过滤的字符分为两类,一类是不允许出现在xml中的字符,这些字符不在xml的定义范围之内.另一类是xml自身要使用的字符,如果内容中有这些字符则需被替换成别的字符. 第一类字符: 对于第一类字符,我们可以通过W3C的XML文档来查看都有哪些字符不被允许出现在xml文档中. XML允许的字符范围是“#x9 | #xA | #xD | [#x20-#xD7FF] | [#xE0

JS中如何将字符串转化成日期 日期格式化方法

<!--     /**     * 对Date的扩展,将 Date 转化为指定格式的String     * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符     * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字)     * eg:     * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-0

SVN版本冲突中 Files 的值“ &lt; &lt; &lt; &lt; &lt; &lt; &lt; .mine”无效路径中具有非法字符的解决办法

.NET 中 SVN版本冲突中 Files 的值“ < < < < < < < .mine”无效路径中具有非法字符的解决办法: 一. 1.将项目逐个进行编译,会弹出上面的错误,这时候将项目隐藏的文件全部显示,删除 /bin 和 /obj 目录,重新编译,这个时候上面的错误会减少,剩余几个错误,就说明有几个项目的编译出错. 2.继续按照方法一,去编译其他的项目.注意:删除/bin 和 /obj 目录后再编译. 二. 还有一个地方,也会导致这个错误,在项目文件中,就是

SVN提交出现“&lt; &lt; &lt; &lt; &lt; &lt; &lt; .mine’无效,路径中具有非法字符”的问题

使用SVN提交或更新后经常会出现”Files 的值’< < < < < < < .mine’无效.路径中具有非法字符”的错误.查阅了下资料,是因为:你更改了一个文件,服务器上相应的文件也改变了,于是文件不能自己合并.解决冲突.你需要自己确定使用哪一个文件.SVN进行管理时,把(与服务器上对应文件)不同的部分写入源文件或添加了以.mine..rs*后缀的文件.  解决方法:在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolut

Files 的值“ &lt; &lt; &lt; &lt; &lt; &lt; &lt; .mine”无效。路径中具有非法字符。

使用SVN进行更新的时候,出现了这样的问题:Files 的值“ < < < < < < < .mine”无效.路径中具有非法字符. 解决方法:解决冲突,告诉SVN这个问题已解决(Resolved).一般更简单些:在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolute.txt的文件打开并删除含有'<<<<<<< .mine'或类似的字段,重新编译即可. 如果没有成功,可以考虑直接把D

错误 1 Files 的值“&lt;&lt;&lt;&lt;&lt;&lt;&lt; .mine”无效。路径中具有非法字符。

Microsoft Visual Studio 2010项目编译的时候,提示如下错误: 错误 1 Files 的值"<<<<<<< .mine"无效.路径中具有非法字符. 解决办法: 在你的工程OBJ/DEBUG目录下,找到 工程名.csproj.FileListAbsolute.txt的文件打开并删除含有'<<<<<<< .mine'或类似的字段,重新编译即可.第一次尝试解决,没有成功,可以尝试直接把

Linux c字符串中不可打印字符转换成16进制

本文由 www.169it.com 搜集整理 如果一个C字符串中同时包含可打印和不可打印的字符,如果想将这个字符串写入文件,同时方便打开文件查看或者在控制台中打印出来不会出现乱码,那么可以将字符串中的不可打印字符转换成16进制,此处提供一个函数供使用: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 void printhex(unsigned char *src,int len) {     

Android studio中出现非法字符时的部分解决方法

我将原来在Eclipse中开发的工程搬到了Android studio上来,在运行,编译程序的过程中出现了错误.提示存在非法字符. 后来发现是由于程序代码中有中文字符的出现,问题就出在对中文支持的UTF-8编码上. utf-8编码分为BOM和非BOM两种格式.有bom头的存储或者字节流,它一定是unicode字符集编码.究竟属于那一种utf-8还是utf-16还是utf-32)可以通过BOM头来进行判断.在utf-8编码文件中BOM在文件头部,占用三个字节,用来标示该文件属于utf-8编码.UT

TMS320DM642中一种彩色图像转化成灰度图像算法

摘要:数字图像中,一般将其他格式图像转化成灰度图像,以使后续的图像计算量变少一些. 平台:Windows10+CCS5.5+TMS320DM642 实现: /* ======================================================================== */ /* Copyright 2006 by Wintech Digital System Technology Corp. */ /* All rights reserved. Prope