我期望XML响应字符串中有一些特殊字符,例如testÅÄÖÖ2。我希望按原样阅读并将其存储在系统中(在我的情况下是CRM表单)。 我希望以“testÅÄÖÖ2”代替“ test ??? 2”。
我们收到一些xml响应,并通过使用C#将其存储在CRM中。
private void Update(string guidCampaign)
{
var fullstring = @"<?xml version='1.0' encoding='utf-8'?><xmlStart><CampId>9348</CampId><CampCode>testÅÄÖ2</CampCode></xmlStart>";
var doc = new XmlDocument();
XmlReader reader = XMLValidator.getXMLReader(fullstring);
doc.Load(reader);
var Id = doc.SelectSingleNode("xmlStart/CampId")?.InnerText;
var Code = WebUtility.HtmlDecode(doc.SelectSingleNode("xmlStart/CampCode")?.InnerText);
}
public static XmlReader getXMLReader(string inputXML)
{
XmlReaderSettings ReaderSettings = new XmlReaderSettings();
ReaderSettings.DtdProcessing = DtdProcessing.Prohibit;
ReaderSettings.XmlResolver = null;
byte[] byteArray = Encoding.ASCII.GetBytes(inputXML);
MemoryStream stream = new MemoryStream(byteArray);
StreamReader xmlStream = new StreamReader(stream, Encoding.GetEncoding("iso-8859-1"));
XmlReader reader = XmlReader.Create(xmlStream, ReaderSettings);
return reader;
}
我要在“代码”字段中使用“testÅÄÖÖ2”,而不是“ test ??? 2”。我尝试了很多事情,但找不到正确的语法。