在创建新的XML元素'组织时,由于XML转义符,我面临实体问题,如实体é
转换为é
。
以下是我为解决创建新元素' Organization'
而解析的字符串 Centre de Recherche sur L' Epidemiologie des Désastres
上面的字符串转换为
Centre de Recherche sur L' Epidemiologie des Désastres
在xml文件中。
XML文件中的预期结果是
Centre de Recherche sur L' Epidemiologie des Désastres
任何人都可以帮我摆脱这个吗?
从此处编辑
根据理查德的要求,以下是我遵循的方法
XmlDocument document = new XmlDocument();
document.Load(path);
XmlNode newnode = document.CreateNode(XmlNodeType.Element, "affiliation", document.DocumentElement.NamespaceURI);
XmlElement elem = document.CreateElement("Testing", document.DocumentElement.NamespaceURI);
elem.InnerText = "Centre de Recherche sur L' Epidemiologie des Désastres";
newnode.AppendChild(elem);
答案 0 :(得分:0)
如果要向XML文本内容(包括属性值)添加&
,<
或>
,则必须对其进行编码(否则会将其与分别是实体,开始或元素标签或元素标签的结尾。)
所以你看起来像是正确的行为。您正在添加文字&
,因此它已被编码。当您使用XML解析器读取XML时,XML文本中的&
将转换为&
。
当您设置InnerText
时,您似乎有一些已经是XML编码的文本 - 由实体判断 - 所以您可能需要首先解码该文本。