2012-06-08 2 views
-1

데이터 세트가 인코딩 된 XML을 읽을 수없는 이유를 설명해주십시오.C# xml string 특수 문자 EntityName을 구문 분석하는 동안 오류가 발생했습니다. Line 1,

string xml = "<?xml version=\"1.0\" standalone=\"yes\" ?> 
    <DataSet><node>it's my \"node\" & i like it</node></DataSet>"; 
    string encodedXml = System.Security.SecurityElement.Escape(xml); 
    DataSet ds = new DataSet(); 
    ds.ReadXml(New XmlTextReader(new StringReader(encodedXml))); 

내가 링크 http://weblogs.sqlteam.com/mladenp/archive/2008/10/21/Different-ways-how-to-escape-an-XML-string-in-C.aspx을 확인했다 내가 뭘 원하는 것은 데이터 집합에 특수 문자가 포함 된 문자열을 읽는 것입니다. 누구나 에 특수 문자가 포함 된 문자열을 데이터 세트에 읽을 수 있습니다.

+2

포함 된 문자열을의 파일 이름 및 XML 파일을한다? 문자열 리터럴에 인용되지 않은 문자열 문자가 있습니다. 예 : "1.0" –

+0

'System.Security.SecurityElement.Escape'에 대한 호출 제거를 시도해 보셨습니까? [doc] (http://msdn.microsoft.com/en-us/library/system.security.securityelement.escape.aspx) sais 때문에 모든 꺾쇠 괄호를 이스케이프 된 버전 ('<'/' >)') - ecnodedXml은 XML 문서가 아닙니다. – vstm

+0

ds.ReadXml (New XmlTextReader (new StringReader (encodedXml)))가 오류를 throw하기 때문에 System.Security.SecurityElement.Escape를 사용하는 이유가 있습니다. – sam

답변

0

ds.ReadXml(string) 매우 감사하지 않는 것이 심지어 컴파일 않는 XML

+0

죄송합니다. 원래 게시물에서 XmlTextReader (new StringReader (encodedXml))가 누락되었지만 결과는 동일한 오류입니다. < 노드가 ' > 내가 좋아하는 내 " 노드 " &이야 그것은 < 노드 > – sam

관련 문제