C#里 xml.Load();报错问题
C#里XmlDocumentxml=newXmlDocument();xml.Load(Productxmlpath);报错“分析EntityName时出错。第4行,位置...
C#里
XmlDocument xml = new XmlDocument();
xml.Load(Productxmlpath);
报错“分析 EntityName 时出错。 第 4 行,位置 22。”
一下是XML文件的部分内容
<?xml version="1.0" encoding="Big5"?>
<ProductInfo>
<product>
<ItemNumber >FM4779 & 12</ItemNumber >
<ItemDesc >SPS 1550 HEMODIALYSIS MACHINE 220V</ItemDesc >
</product>
</ProductInfo>
问题出在“&”符号上,删掉“&”以后可以正常执行。
数据要求必须有“&”,这怎么处理啊。 展开
XmlDocument xml = new XmlDocument();
xml.Load(Productxmlpath);
报错“分析 EntityName 时出错。 第 4 行,位置 22。”
一下是XML文件的部分内容
<?xml version="1.0" encoding="Big5"?>
<ProductInfo>
<product>
<ItemNumber >FM4779 & 12</ItemNumber >
<ItemDesc >SPS 1550 HEMODIALYSIS MACHINE 220V</ItemDesc >
</product>
</ProductInfo>
问题出在“&”符号上,删掉“&”以后可以正常执行。
数据要求必须有“&”,这怎么处理啊。 展开
3个回答
展开全部
这个是不符合标准的XML文件。(可以说是错误的XML文件)
&是XML中当以字符出现是必须被转义的字符。
这里有两种解决方法:
1 xml文件中用 & amp; 代替&。
XML里这样必须转义的特殊字符还有:
& --- & amp ;
< --- & lt ;
> --- & gt ;
' --- & apos ;
" --- & quot ;
注意:上面特殊字符& amp; 中间不能有空格,百度会自动按照特殊字符替换掉。所以留了空格。
2 <ItemNumber >FM4779 & 12</ItemNumber >
加上数据标识段:
<ItemNumber ><![CDATA[FM4779 & 12]]></ItemNumber >
用<![CDATA[ ]]>括起来后,里面的内容就被XML认为是字符串,不做任何词法判断。
&是XML中当以字符出现是必须被转义的字符。
这里有两种解决方法:
1 xml文件中用 & amp; 代替&。
XML里这样必须转义的特殊字符还有:
& --- & amp ;
< --- & lt ;
> --- & gt ;
' --- & apos ;
" --- & quot ;
注意:上面特殊字符& amp; 中间不能有空格,百度会自动按照特殊字符替换掉。所以留了空格。
2 <ItemNumber >FM4779 & 12</ItemNumber >
加上数据标识段:
<ItemNumber ><![CDATA[FM4779 & 12]]></ItemNumber >
用<![CDATA[ ]]>括起来后,里面的内容就被XML认为是字符串,不做任何词法判断。
展开全部
xml.Load(Productxmlpath.Replace("&", "&"));
追问
大侠。改完会有依然不可以哎。还是报同样的错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用 "& amp;" 代替&
& amp; 去掉中间空格
& amp; 去掉中间空格
追问
这里的“&”是不能改变的,只能是“&”.
有别的方法吗?
追答
& amp; 就是&的转义
你读出来 他就变成&了,你存进去如果只是& 那么其它它不是&
就和字符串里""你存"不是"要\"才行是一个道理
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询