Tôi có một hàm mà tôi chuyển một chuỗi dưới dạng tham số được gọi là filterXML chứa '&' ở một trong các thuộc tính.XmlDocument throwing "Đã xảy ra lỗi khi phân tích cú pháp EntityName"
Tôi biết rằng XML sẽ không nhận ra nó và nó sẽ ném cho tôi một lỗi. Đây là mã của tôi:
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!!!
Tôi nên thay đổi gì trong mã của mình để chỉnh sửa hoặc phân tích cú pháp filterXml? filterXml của tôi trông như thế này:
<Testing>
<Test>CITY & COUNTY</Test>
</Testing>
tôi thay đổi giá trị chuỗi của tôi từ & để &. Đây là mã của tôi cho điều đó:
string editXml = filterXml;
if (editXml.Contains("&"))
{
editXml.Replace('&', '&');
}
Nhưng nó cho tôi một lỗi ở bên trong câu lệnh if: Quá nhiều chữ.
Đó là lỗi do ký hiệu & (&) –
Điều này là muộn trong trò chơi, nhưng trong trường hợp bất kỳ ai khác tình cờ gặp nó - lỗi "Quá nhiều chữ" gây ra bởi thực tế là Gunda dấu nháy đơn được sử dụng xung quanh "của anh ấy". Dấu nháy đơn cho biết ký tự, chỉ được phép là một ký tự đơn. – Euric