Обновлено:
@thabet, если строка "<CostCenterNumber>...G&A: Fin & Acctng</CostCenter>"
приходит в качестве параметра, и он должен представлять XML, который будет обработан, то он должен быть хорошо сформированный XML, чтобы начать с. В примере, который вы дали, это не так. &
сигнализирует начало ссылки на сущность, за ней следует имя объекта и заканчивается ;
, который никогда не появляется в строке выше.
Если вам дана целая строка в качестве параметра, некоторые из которых являются разметкой, которая должна быть проанализирована (т. Е. Теги начала и конца), а некоторые из них могут содержать разметку, которая не должна анализироваться (то есть &
) , нет чистого и надежного способа «избежать» последнего, а не избежать первого. Вы можете заменить все &
персонажами &
, но при этом вы можете случайно повернуть  
в &#160;
, и ваш результат будет неправильным. Если это ваша ситуация, вы получаете входной «XML», где разметка смешана с непассивным текстом, наилучшим обращением является , расскажите человеку, у которого вы получаете XML, что он не является корректным, и им необходимо исправить свои вывод. Есть способы сделать это, что не сложно с помощью стандартных инструментов XML.
Если с другой стороны, у вас есть
<CostCenterNumber>2</CostCenterNumber>
<CostCenter>...</CostCenter>
отдельно от переданной строки, и вам нужно подключить в переданной строке в качестве текстового содержания ребенка <CostCenter>
, и вы знаете, что это не будет разобран (не содержит элементов), то вы можете сделать это:
- создать
<CostCenterNumber>
и <CostCenter>
как элементы
- делают их дети родителя
<CostCenter>
- набор текст содержание CostCenterNumber, используя InnerXml при условии, что нет никакого риска разметки там:
eltCCN.InnerXml = "2";
- создать для элемента ребенка CostCenter текстового узла ребенок, значение которого передается строка:
textCC = doc.CreateText(argStr)
;
- назначить этот текстовый узел в качестве дочернего элемента ребенка CostCenter:
eltCC.AppendChild(textCC);
Я обновил свой ответ, чтобы уточнить, как знать, когда проблема находится выше и должна рассматриваться в источнике. – LarsH