分类目录
文章索引模板
Xml转义字符 - 九月 5, 2009 by yippee

又碰到转义字符,估计这个是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         “&”用替换“&amp”;

l         “<”用替换“&lt;”;

l         “>”用替换“&gt;”;

l         “””用替换“&quot;”;

l         空格用替换“&nbsp;”。

XML标准中还定义了其它一些转义符,用于显示一些特别字符,如各种货币的符号(英镑:&pound;)、商标符号(&#8482;)等。

Character Name  Entity Reference  Character Reference  Numeric Reference
Ampersand  &amp;  &  &#38;#38;
Left angle bracket  &lt;  <  &#38;#60;
Right angle bracket  &gt;  >  &#62;
Straight quotation mark  &quot;  ”  &#39;
Apostrophe  &apos;  ’  &#34;
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, “&#xD;&#xA;”, “\r\n”);
s = Regex.Replace(s, “&nbsp;”, ” “);
s = Regex.Replace(s, “&#xD;”, “\r\n”);
s = Regex.Replace(s, “&#xA;”, “\r\n”);
s = Regex.Replace(s, “&quot;”, “”");
s = Regex.Replace(s, “&lt;”, “<”);
s = Regex.Replace(s, “&gt;”, “>”);
s = Regex.Replace(s, “&apos;”, “\”);
s = Regex.Replace(s, “&amp;”, “&”);

虽然据说2、System.Text.Regex(Regular Expression正则表达式),大家都估计到它的效率不高,虽然它支持忽略大小写。
//另外还碰到个好玩的事情,如果外接了显示器,并且拖过去了程序,如果拔掉,这个程序就找不回来了。得右键菜单-移动,然后拖回来。

表显示了 XML 输出中转义的字符。除 UserData 元素(其中包含用户提供的非转义数据)外,其他所有元素和属性均发生转义。UserData 元素是调用 TraceData 方法的结果。

转义字符
& &amp;
< &lt;
> &gt;
&quot;
\ &apos;
0xD &#xD;
0xA &#xA;

找了找资料,发现很多也是手工转换:

标签:,
20080913 c# xml 转义 &nbsp; - 五月 11, 2009 by yippee

20080913 c# xml 转义 &nbsp;
http://www.yippeesoft.com

xslt中&nbsp;的问题 Web 开发 / XML/SOAP – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20031029/17/2407536.html
用&#160;代替&nbsp;,

解析xml文件的问题…希望大家帮看看 .NET技术 / C# – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20050907/19/4255830.html

为什么在xsl中无法识别&nbsp;如果在xsl中输入空格应该怎么实现? .NET技术 / ASP.NET – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20051026/16/4352167.html#

使用 .NET Framework 中的 XML(DOM) – 疯一样的自由 – 博客园
http://www.cnblogs.com/caoxch/archive/2006/11/21/567250.html

How do you get Microsoft XMLDocument.Load(..) to read "&nbsp;" in the source document? : Microsoft, .Net, 2.0, Consuming XML, <b style="color:black;background-color:#a0ffff">C#</b>
http://72.14.235.104/u/loyolachicago?q=cache:IeL7lymzoGAJ:www.experts-exchange.com/Microsoft/Development/.NET/.NET_Framework_2.0/Q_23661424.html+XmlDocument.load+c%23+nbsp&hl=en&ct=clnk&cd=1

加载文档时,可以设置保留空白并在文档树中创建 XmlWhitespace 节点的选项。 若要创建空白节点,请将 PreserveWhitespace 属性设置为 true。 如果此属性设置为默认值 false,则不创建空白节点。 总是保留有效空白节点,并且总是在内存中创建 XmlSignificantWhitespace 节点以表示此数据,与 PreserveWhitespace 标志的设置无关。

如果文档从读取器加载,只有 XmlTextReader 上的 WhitespaceHandling 属性未设置为 WhitespaceHandling.None 时,XmlDocument 类上 PreserveWhitespace 标志属性的设置才会影响 XmlWhitespace 节点的创建, 读取器上 WhitespaceHandling 属性的值优先于 XmlDocument 上该标志的设置。 有关 XmlSignificantWhitespace 的更多信息,请参见 XmlSignificantWhitespace 类。

System.Xml.XmlException: Reference to undeclared entity \’nbsp\’

未处理 System.Xml.XmlException
  Message="引用了未声明的实体“nbsp”。 行 1,位置 1758。"
  Source="System.Xml"
  LineNumber=1
  LinePosition=1758
   StackTrace:
       在 System.Xml.XmlTextReaderImpl.Throw(Exception e)
       在 System.Xml.XmlTextReaderImpl.Throw(String res, String arg, Int32 lineNo, Int32 linePos)
       在 System.Xml.XmlTextReaderImpl.HandleGeneralEntityReference(String name, Boolean isInAttributeValue, Boolean pushFakeEntityIfNullResolver, Int32 entityStartLinePos)
       在 System.Xml.XmlTextReaderImpl.HandleEntityReference(Boolean isInAttributeValue, EntityExpandType expandType, Int32& charRefEndPos)
       在 System.Xml.XmlTextReaderImpl.ParseText(Int32& startPos, Int32& endPos, Int32& outOrChars)
       在 System.Xml.XmlTextReaderImpl.FinishPartialValue()
       在 System.Xml.XmlTextReaderImpl.get_Value()
       在 System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
       在 System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
       在 System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
       在 System.Xml.XmlDocument.Load(XmlReader reader)
   InnerException:

xslt中&nbsp;的问题 Web 开发 / XML/SOAP – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20031029/17/2407536.html

XML Validator – Powered by Validome
http://www.validome.org/xml/validate/
Entity "nbsp" was referenced, but not declared.

欢迎进入绿色空间: XML对于"nbsp"是有问题的
http://humanyang.spaces.live.com/Blog/cns!7D62EB59D964BDCA!114.entry
org.dom4j.DocumentException: Error on line 2 of document  : The entity "nbsp" wa

s referenced, but not declared. Nested exception: The entity "nbsp" was referenc

ed, but not declared.

Description of the Forms Server 2007 hotfix package: May 21, 2007
http://support.microsoft.com/?scid=kb%3Ben-us%3B937497&x=10&y=11

Canonical XML
http://www.w3.org/1999/07/WD-xml-c14n-19990729.html

Encoder.cs ASP.NET Open Source C# Content Management System (CMS)
http://www.vwd-cms.com/open-source/source-code-viewer.aspx?file=v021%2FVwdCms.Admin%2FEncoder.cs.exclude

StateMachine in c# and xml – Ramon Smits
http://bloggingabout.net/blogs/ramon/archive/2005/09/28/9544.aspx

A sample of operating XML document in ASP.NET 2.0(C#)
http://www.aspnettutorials.com/tutorials/database/XML-Csharp.aspx

xsl里想有&nbsp;(HTML里的空格)怎么办?显示内容里有>怎样转义谢谢! Web 开发 / XML/SOAP – CSDN社区 community.csdn.net
http://topic.csdn.net/t/20030508/00/1753289.html

HTML/XML 中的转义字符_待定
http://hi.baidu.com/goglad/blog/item/69d83c9bd6a01ab1c8eaf4e8.html

[转] C#下 读取xml节点的数据总结 – 爱晚红枫技术部广东分部 – 博客园
http://www.cnblogs.com/xiang/archive/2006/03/13/349303.aspx

怎样在XmlDocument类生成的XML文档中包含不被转义的字符-软件开发-软界知道-中国软界项目交易网
http://www.softwelt.com/Know/KnowDetail-1823047.html

Trying to write &#xD; into XML document
http://www.velocityreviews.com/forums/t133488-trying-to-write-ampxd-into-xml-document.html

.NET and XML — Processing XML with .NET — Chapter 5. Manipulating XML with DOM — The .NET DOM Implementation
http://www.uupx.com/VisualStudio2005/XMLPractices/20070802071612_2.html

王有礼教授编著
http://cache.baidu.com/c?m=9f65cb4a8c8507ed4fece763104397355b0e97634b8691027fa3cf0ed4251d564711b4ed603510739580613440ed5e5c9dac61342a557df2c796d5198ba6e3727cca6163300b864612d11aa9dc4652a342f64eacf259b1b5ba6dcdeb88889903128800542d97f0fa105f4a9c32a1536eb4fadf&p=8970c64ad79111a05afed5125c&user=baidu#baidusnap0

C#发现之旅第一讲 C#-XML开发(6) – 技术应用 – 豆豆网
http://tech.ddvip.com/2008-05/121201323244777_6.html

.Net中多语言版本的实现 [vs2003](抄袭)_英雄回首向天涯
http://hi.baidu.com/dl82359509/blog/item/60e0782d98779b30359bf77f.html

使用 .NET Framework 中的 XML(DOM) – 疯一样的自由 – 博客园
http://www.cnblogs.com/caoxch/archive/2006/11/21/567250.html

XML转义符和空白字符-asp教程-asp学习网
http://www.aspxuexi.com/topics/xml/2007-11-13/2953.htm
空格 (&#x0020;)
Tab (&#x0009;)
回车 (&#x000D;)
换行 (&#x000A;)

html编辑器的回车换行问题解决方案,XML专区,徐州邳州网站建设,网页设计,徐州邳州网站制作,网络公司,徐州慧网网络科技有限公司
http://www.huinet.cn/news_type.asp?id=2748

标签:, ,
20070623 asp.net ServiceController xml 转义 - 十一月 24, 2007 by yippee

20070623 asp.net ServiceController xml 转义
http://www.yippeesoft.com

如果使用VS2005自带的调试器则可以

无法打开计算机“.”上的 MySQL 服务。 在 System.ServiceProcess.ServiceController.GetServiceHandle(Int32 desiredAccess) 在 System.ServiceProcess.ServiceController.Start(String[] args) 在 System.ServiceProcess.ServiceController.Start() 在 test._Default.Button1_Click(Object sender, EventArgs e) 位置 M:\\TEMP\\vs8\\test\\test\\Default.aspx.cs:行号 36

使用VS2005可以创建服务,定义服务可接受的命令,例如启动、暂停、停止,或者自定义的命令。我们可以使用命令行工具InstallUtil.exe来安装服务,或者使用VS2005的部署功能。
?
与其它应用程序不同之处:
不能直接执行,需要安装并且启动后,附加到服务进程才可以调试。
在Main方法中必须调用Run命令来装载服务。装载跟运行服务是不同的事情。
因为windows serivce不能交互,所以任何弹出的对话框可能导致程序停止响应,类似的错误消息也应该记录在windows事件日志中,而不是出现在用户界面中。
?
.NET框架创建的服务有两种类型,一种独立进程,一种与其它服务共享进程。
.NET框架创建的服务从System.ServiceProcess.ServiceBase类继承,可以重载它的方法来定义自己服务的功能。System.ServiceProcess.ServiceProcessInstaller和System.ServiceProcess.ServiceInstal可以用来安装和卸载服务。
ServiceController类用于连接到一个已经安装的服务并且操作它的状态,相当于服务管理程序。
ServiceBase的几个可重载方法:
OnStart 当服务开始运行时执行怎样的动作,通常在此完成有用的工作。
OnPause 当服务暂停时执行怎样的动作
OnStop? 当服务停止时执行怎样的动作
OnContinue 当服务在暂停后恢复正常工作时执行怎样的动作
OnShutdown 当系统关机前执行怎样的动作
OnCustomCommand 当服务接受到一个用户命令时执行怎样的动作(由ServiceController.ExecuteCommand发起)
OnPowerEvent 指出服务如何响应一个电源管理事件
ServiceBase.Run是服务的main入口点。
用VS项目模版生成windows service至少要做以下工作:
1.设置ServiceName属性
2.创建必要的安装器
3.重载OnStart和OnStop方法
手动编程也很简单:
1.加入对System.dll和System.ServiceProcess.dll的引用
2.从ServiceBase派生子类
3.在派生类的构造方法中设置必要的属性(ServiceName、CanStop…)
4.在程序的Main入口处使用System.ServiceProcess.ServiceBase.Run装载服务
5.重载必要的方法
6.增加安装器
7.创建安装程序
?
VS2005中仍然可以用ATL Project来创建native的windows service。

XML转义字符

  不合法的XML字符必须被替换为相应的实体。

  如果在XML文档中使用类似"<" 的字符, 那么解析器将会出现错误,因为解析器会认为这是一个新元素的开始。所以不应该像下面那样书写代码:

<message>if salary < 1000 then</message>

  为了避免出现这种情况,必须将字符"<" 转换成实体,像下面这样:

<message>if salary &lt; 1000 then</message>

  下面是五个在XML文档中预定义好的实体:

&lt; <  小于号
 &gt; >  大于号
 &amp; & 和
 &apos; \’ 单引号
 &quot; " 双引号
   实体必须以符号"&"开头,以符号";"结尾。
  注意: 只有"<" 字符和"&"字符对于XML来说是严格禁止使用的。剩下的都是合法的,为了减少出错,使用实体是一个好习惯。

http://support.microsoft.com/kb/306158/zh-cn
模拟 IIS 验证的帐户或用户
若要在收到 ASP.NET 应用程序中每个页的每个请求时模拟 Microsoft Internet 信息服务 (IIS) 身份验证用户,必须在此应用程序的 Web.config 文件中包含 <identity> 标记,并将 impersonate 属性设置为 true。例如: <identity impersonate="true" />
    
回到顶端

为 ASP.NET 应用程序的所有请求模拟特定用户
若要为 ASP.NET 应用程序的所有页面上的所有请求模拟特定用户,可以在该应用程序的 Web.config 文件的 <identity> 标记中指定 userName 和 password 属性。例如: <identity impersonate="true" userName="accountname" password="password" />

如果要在 ASP.NET 中的线程上模拟用户,可以根据您的要求使用以下方法之一: • 模拟 IIS 验证的帐户或用户
• 为 ASP.NET 应用程序的所有请求模拟特定用户
• 在代码中模拟身份验证用户
• 在代码中模拟特定用户
public static void StopService(string strServiceName)
&leftsign;
   System.ServiceProcess.ServiceController sc2 =
         new System.ServiceProcess.ServiceController(strServiceName, [YOUR SERVER NAME] );

    if (sc2.Status.Equals(System.ServiceProcess.ServiceControllerStatus.Running))
    &leftsign;
       sc2.Stop();
    &rightsign;
&rightsign;

public static void StartService(string strServiceName)
&leftsign;
   System.ServiceProcess.ServiceController sc2 =
         new System.ServiceProcess.ServiceController(strServiceName,  [YOUR SERVER NAME]);
   
    if (sc2.Status.Equals(System.ServiceProcess.ServiceControllerStatus.Stopped))
    &leftsign;
      sc2.Start();
    &rightsign;
&rightsign;

标签:, , , , , ,