【发布时间】:2011-11-30 03:02:20
【问题描述】:
我有一个函数,我将一个字符串作为参数传递,称为 filterXML,其中一个属性包含“&”。
我知道 XML 不会识别它,它会给我一个错误。这是我的代码:
public XmlDocument TestXMLDoc(string filterXml)
{
XmlDocument doc = new XmlDocument();
XmlNode root = doc.CreateElement("ResponseItems");
// put that root into our document (which is an empty placeholder now)
doc.AppendChild(root);
try
{
XmlDocument docFilter = new XmlDocument();
docFilter.PreserveWhitespace = true;
if (string.IsNullOrEmpty(filterXml) == false)
docFilter.LoadXml(filterXml); //ERROR THROWN HERE!!!
我应该在我的代码中更改什么来编辑或解析 filterXml?我的 filterXml 看起来像这样:
<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
我正在将字符串值从 & 更改为 &。这是我的代码:
string editXml = filterXml;
if (editXml.Contains("&"))
{
editXml.Replace('&', '&');
}
但它在 if 语句内部给了我一个错误:文字太多。
【问题讨论】:
-
因为与号 (&) 而出错
-
这是游戏后期,但万一其他人偶然发现它 - “文字太多”错误是由于 Gunda 在他的“&”周围使用单引号引起的。单引号表示字符,只能是单个字符。
标签: c# xml string xmldocument