我正在使用他们的“SOAP”api 与 Magento 电子商务集成,并且 API 返回“XML”结果。问题是,这并不总是格式正确:
<product>
<entity_id>18</entity_id>
<price regular="2925 <span>Nok</span>"/>
...
在这种特定情况下,价格常规属性在属性文本中既有不可见字符 0xa0(在 span 标记之前),又有 < >。
我似乎无法从 Magento 获得格式正确的 XML,因此另一种方法是在将其提供给XmlSerializer
反序列化之前对其进行清理:
XmlSerializer serializer = new XmlSerializer(typeof(Responses.Product.product));
product = serializer.Deserialize(textReader) as Responses.Product.product;
我可以使用简单的文本替换来摆脱不可见字符,但我更不确定属性文本中的 <>。
我的问题是,如何将其清理为有效的 XML?