2015-05-21 5 views
1

Мой кодРазбираем шестнадцатеричную строку в XDocument

string workflowIdRef="WorkflowUser_NEW Bình Thuận Copy" 
string requestFileXml = HttpContext.Current.Server.MapPath("~/Admin/TS/requestXml/JobCreateReq.xml"); 
XmlDocument xmld = new XmlDocument(); 
xmld.Load(requestFileXml); 
string requestXml = xmld.OuterXml;    
requestXml = requestXml.Replace("WORKFLOW_ID", workflowIdRef); 

//Parse string requestXml to xDocument Temp 
XDocument xTemp = XDocument.Parse(requestXml); 

отлаживать и смотри ниже результата

Text Visualizer режим:

enter image description here

И XML визуализатор:

enter image description here

XDocumentXTemp имеет строки результата, как на картинке 2

Как получить XTemp иметь строки результата, как на картинке 1?

ответ

1

& - специальный символ в XML, это маркер начала кодированного символа, такого как ì. Если вы хотите, чтобы это была простая строка, а не закодированный символ, вам нужно избежать &, используя &, например ì.

демо:

//notice that & are escaped to & in the following string : 
string workflowIdRef="WorkflowUser_NEW Bình Thuận Copy" 

string workflowIdRef = "WorkflowUser_NEW Bình Thuận Copy"; 
string xmlContent = @"<root workflowIdRef=""WORKFLOW_ID""/>"; 
xmlContent.Replace("WORKFLOW_ID", workflowIdRef);.Replace("WORKFLOW_ID", workflowIdRef); 

XDocument xTemp = XDocument.Parse(xmlContent); 

выход:

enter image description here

+0

Да !!! большое спасибо –