今天用C#读写XML文档,总出现下面的错误:

分析 EntityName 时出错。行1,位置9。

出错地方的源程序为:

//......
pathEle.InnerXml = reducedStr(videoPath, RootDirDirecotry + "\\");
videoInfoEle.AppendChild(pathEle);
XmlElement urlEle = combineXml.CreateElement("VideoPageUrl");
urlEle.InnerXml = VideoUrl;
videoInfoEle.AppendChild(urlEle);

出错就出在

这一句,其中VideoUrl是一个URL地址。

经过搜索发现,是因为此地址中包含了一个“&”符号:

http://v.youku.com/v_show/id_XODIxNTIwODQw.html?f=23050445&from=y1.3-paike-grid-4071-10195.90404-90171.5-1

解决方法为:

pathEle.InnerXml = reducedStr(videoPath, RootDirDirecotry + "\\");
videoInfoEle.AppendChild(pathEle);
XmlElement urlEle = combineXml.CreateElement("VideoPageUrl");
string tmpVideoUrl = videoUrl;
if (tmpVideoUrl.Contains("&") || tmpVideoUrl.Contains("<") || tmpVideoUrl.Contains(">") || tmpVideoUrl.Contains("\"") || tmpVideoUrl.Contains("\'"))
{
tmpVideoUrl = tmpVideoUrl.Replace("&","&");
tmpVideoUrl = tmpVideoUrl.Replace("<","<");
tmpVideoUrl = tmpVideoUrl.Replace(">",">");
tmpVideoUrl = tmpVideoUrl.Replace("\"",""");
tmpVideoUrl = tmpVideoUrl.Replace("\'","'");
}
urlEle.InnerXml = tmpVideoUrl;
videoInfoEle.AppendChild(urlEle);</span></span>

即将"&"替换为"&amp;"即可。

**********************************************************************

原因分析:

在涉及到xml编与xslt程的过程中,忽略了xml中特殊符号表示的方法。

下表列出了这些特殊字符并描述了它们的含义。有关更多信息,请参见 XML 1.0 规范 中的 XML 1.0 规范。

特殊字符 特殊含义     实体编码

>             开始标记       &gt;

<             结束标记       &lt;

"              引号             &quot;

'               撇号             &apos;

&            "&"符号         &amp;

.net 配置文件 分析 EntityName 时出错的更多相关文章

  1. 读取xml文件"分析 EntityName 时出错"的解决方案

    在涉及到xml与xslt编程的过程中,经常会碰到"分析 EntityName 时出错"的提示,这个不是程序错误,是因为xml文件中使用了一些特殊符号导致的.    XML 节点中不 ...

  2. XmlDocument.Load()加载xml文件时,提示分析 EntityName 时出错的问题。

    今天一个接口突然报错,错误是: 分析 EntityName 时出错. 行 35,位置 90. xmlDoc.Load(System.Web.HttpContext.Current.Server.Map ...

  3. [0] 分析 EntityName 时出错。 行 2,位置 *。

    1. 报错内容“若要在加载设计器前避免可能发生的数据丢失,必须纠正以下错误: ”   “分析 EntityName 时出错. 行 2,位置 *.” 2. 如图: 3. 解决方案:查看项目全路径,是否有 ...

  4. 错误:分析 EntityName 时出错 web配置

    会发生这种错误的环境:ASP.NET 或 XML情况:一个原本运行正常的C#页面,因为SQL的密码更改后一直出现“分析 EntityName 时出错”错误,验证过web.config的SQL Conn ...

  5. c#解析xml字符串 分析 EntityName 时出错

    因为xml字符串中的特殊html字符被转义了,怎么防止转义呢,可以在xml内加上<![CDATA[返回内容]] 这样可以防止特殊字符被转义,就好像微信公共平台消息传递也都是xml格式他们也都加& ...

  6. 安装SQL Server 2012过程中出现“启用windows功能NetFx3时出错”(错误原因、详细分析及解决方法)以及在Windows Server2012上安装.NET Framework 3.5的详细分析及安装过程

           问题:在服务器(操作系统为Windows server 2012)上安装SQL Server 2012的过程中,安装停留在下图所示的界面上,显示”正在启用操作系统功能NetFx3”随后出 ...

  7. VC++ MFC单文档应用程序SDI下调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错原因分析及解决办法:glewInit()初始化的错误

    1.问题症状 在VC++环境下,利用MFC单文档应用程序SDI下开发OpenGL程序,当调用glGenBuffersARB(1, &pbo)方法编译通过但执行时出错,出错代码如下: OpenG ...

  8. FastAdmin 在线命令生成时出错的分析

    FastAdmin 在线命令生成时出错的分析 出错现象 版本环境 FastAdmin 版本:1.0.0.20180806_beta 在线命令插件版本:1.0.3 分析 2018-08-13 16:12 ...

  9. UpdateException-更新条目时出错分析

    不屁话1张图搞定: 我是这个错: 2015-03-27 00:25:00,493 [9] ERROR log - System.Data.Entity.Infrastructure.DbUpdateE ...

随机推荐

  1. .net EF 事物 订单流水号的生成 (二):观察者模式、事物、EF

    针对.net EF 事物 订单流水号的生成 (一)  的封装. 数据依然不变. using System; using System.Linq; using System.Transactions; ...

  2. 关于WebBrowser(浏览器)控件的调用

    原文:关于WebBrowser(浏览器)控件的调用 在VS.NET2002和2003中,要应用WebBrowser(浏览器)控件,得用InterOp,刚开始用的时候很正常,后来不知道为什么窗口一打开就 ...

  3. The Swift Programming Language-官方教程精译Swift(5)集合类型 -- Collection Types

    Swift语言提供经典的数组和字典两种集合类型来存储集合数据.数组用来按顺序存储相同类型的数据.字典虽然无序存储相同类型数据值但是需要由独有的标识符引用和寻址(就是键值对).   Swift语言里的数 ...

  4. Require.JS 2.0

    就在前天晚上RequireJS发布了一个大版本,直接从version1.0.8升级到了2.0.随后的几小时James Burke又迅速的将版本调整为2.0.1,当然其配套的打包压缩工具r.js也同时升 ...

  5. Performing User-Managed Database-18.4、Restoring Datafiles and Archived Redo Logs

    18.4.Restoring Datafiles and Archived Redo Logs 假定介质故障损坏的一个或多个数据文件,数据文件必须恢复损坏的文件之前恢复. 该位置是不是想恢复原来姿势. ...

  6. 【麦子学院】OpenCV教程函数总结

    个自带样例. parter 1: No1. adaptiveskindetector.cpp 利用HSV空间的色调信息的皮肤检測,背景不能有太多与肤色相似的颜色.效果不是特别好. No2. bagof ...

  7. Android小应用-----画画板

    public class MainActivity extends Activity { private ImageView iv; float startX = 0; float startY = ...

  8. selenium2入门 用testNG对百度首页输入框进行测试 (三)

    如果还没有安装testNG的亲,可以点击http://www.cnblogs.com/milanmi/p/4346580.html查看安装过程. 这节主要是对百度首页的输入框进行输入测试. packa ...

  9. C语言内存对齐(2)

    前两天参加了360测试实习生的笔试,碰到了一个有关c语言内存对齐的题目,回来后实现了一下,下面是代码: #include <stdio.h> #include <stdlib.h&g ...

  10. 实例学习SSIS(三)--使用包配置

    原文:实例学习SSIS(三)--使用包配置 导读: 实例学习SSIS(一)--制作一个简单的ETL包 实例学习SSIS(二)--使用迭代 实例学习SSIS(三)--使用包配置 实例学习SSIS(四)- ...