又碰到转义字符,估计这个是LINUX下JAVA生成的XML,所以只有
。
没有办法,只好整理了弄下。
if (c == ‘&’) {
buf.Append (“&”);
并且XML每次还得先把&转换成&。如果LOADXML," 就成了:"&
http://cse-mjmcl.cse.bris.ac.uk/blog/2007/02/14/1171465494443.html
In c#: xml = Regex.Replace(xml, “&\\#x(?:0[0-8BCEF]|1[0-9A-F]);”, “”);
这人狠,直接干掉··
http://www.csharper.net/blog/escape_xml_string_characters_in_c_.aspx
xml = xml.Replace( “&”, “&” );
xml = xml.Replace( “<”, “<” );
但是好像不区分大小写?
XML文档中使用多个关键字,如果XML文档中使用这些关键字,则需要转义。这些字符如下:
l “&”用替换“&”;
l “<”用替换“<”;
l “>”用替换“>”;
l “””用替换“"”;
l 空格用替换“ ”。
XML标准中还定义了其它一些转义符,用于显示一些特别字符,如各种货币的符号(英镑:£)、商标符号(™)等。
Character Name Entity Reference Character Reference Numeric Reference
Ampersand & & &#38;
Left angle bracket < < &#60;
Right angle bracket > > >
Straight quotation mark " ” '
Apostrophe ' ’ "
http://support.microsoft.com/?scid=kb%3Ben-us%3B316063&x=7&y=9
微软直接搞了个private void ReplaceSpecialChars(long linenumber)
我干脆全部替换一遍:
string s = xn.InnerText;
s = Regex.Replace(s, “
”, “\r\n”);
s = Regex.Replace(s, “ ”, ” “);
s = Regex.Replace(s, “
”, “\r\n”);
s = Regex.Replace(s, “
”, “\r\n”);
s = Regex.Replace(s, “"”, “”");
s = Regex.Replace(s, “<”, “<”);
s = Regex.Replace(s, “>”, “>”);
s = Regex.Replace(s, “'”, “\”);
s = Regex.Replace(s, “&”, “&”);
虽然据说2、System.Text.Regex(Regular Expression正则表达式),大家都估计到它的效率不高,虽然它支持忽略大小写。
//另外还碰到个好玩的事情,如果外接了显示器,并且拖过去了程序,如果拔掉,这个程序就找不回来了。得右键菜单-移动,然后拖回来。
表显示了 XML 输出中转义的字符。除 UserData 元素(其中包含用户提供的非转义数据)外,其他所有元素和属性均发生转义。UserData 元素是调用 TraceData 方法的结果。
| 转义字符 | 值 |
|---|---|
| & | & |
| < | < |
| > | > |
| “ | " |
| \ | ' |
| 0xD | 
 |
| 0xA | 
 |
找了找资料,发现很多也是手工转换:
历史博文
- Wpf模拟时钟代码实现analogicclock - 2009
- 20071121 midp java midp invalid gcc 4 - 2008
- 20070403 VS2003 ASP.NET ORACLE LIMITS SQL - 2007
- 0409 DWORD_PTR sdk - 2006
- 软件过程模型的分类与选用 - 2005