0

我有一个要插入到 XMLDocument - XmlElement 节点的 URL 字符串:

“http://xx.xxx.xxx.xx4:7000/SomeURL/Some/?Locale=asaf&;Portal=how”

编写此代码时:

XmlElement NodeElement = xmlDoc.CreateElement(nodeToCreate);
NodeElement.InnerText = propInfo.GetValue(requestData,null).ToString();
additionalParamsNode.AppendChild(NodeElement);

'NodeElement.InnerText' 中的文本看起来不错,但是当我执行 appendChild() 时,XMLElement 附加参数节点内会写入一个“&”。就像 XMLElement 采用 InnerXML 一样,而不是 NodeElement 的 InnerText。

我不想将带有“amp”的字符串写入 XML,因为链接不起作用。

如何在不将“&”更改为“&”的情况下附加Child?

4

1 回答 1

1

如果我没记错的话,& 是 XML 中的非法字符之一。这就是为什么它变成&(&的html等价物)。

您应该能够将数据包装在 CDATA 标记中。

<![CDATA[http://xx.xxx.xxx.xx4:7000/SomeURL/Some/?Locale=asaf&;Portal=how]]>

完成后,您可能必须解析 CDATA 标记。

于 2011-01-13T11:17:04.540 回答