0

XMLDocumentに挿入したいURL文字列があります-XmlElementノード:

"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()を実行すると、「&amp」がXMLElementadditionalParamsNode内に書き込まれます。XMLElementは、NodeElementのInnerTextではなく、InnerXMLを取ります。

「amp」を含む文字列をXMLに書き込みたくないので、リンクが機能しません。

「&」を「&amp」に変更せずにChildを追加するにはどうすればよいですか?

4

1 に答える 1

1

私が正しく覚えているなら、&はXMLの不正な文字の1つです。そのため、&amp(htmlで&に相当)に変換されます。

データをCDATAタグでラップできるはずです。

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

ただし、完了したらCDATAタグを解析する必要がある場合があります。

于 2011-01-13T11:17:04.540 に答える