2016-10-25 3 views
-3

xml 파일을 암호화로 인해 문자열로 읽었습니다.문자열로 읽은 후 XML 파일로드

string xmlString = System.IO.File.ReadAllText("../../liberal.xml"); 
//how to load xml document here? 
XmlDocument xmlDo = new XmlDocument(); 
xmlDo.Load("../../liberal.xml"); 

위의 코드는 오류를 발생시키고로드되지 않습니다.

XML 파일에 루트 요소가 없으며 현재 자유주의 XML 파일은 dasjkhf8dfkbhdflak3kjbdf+fafas(safasasdfjgdskalfguv.ng;FHSDAFKLASDF처럼 보입니다.

xml 문서를이 데이터 형식으로로드 할 수 없습니다. XML 문서를로드 할 수있는 경우에만 해당 속성을 사용하여 xml 파일에 새 값을 추가 할 수 있습니다.

갱신 1은 :

나는 XML을 해독하고 문자열에 위치하지만 문자열을 사용하여 XML 문서를로드 할 수 없습니다.

string retValue; 
XmlDocument dec = new XmlDocument(); 
dec.Load(retValue); 

retValue 문자열의 값은 다음과 같습니다.

Illegal characters in path. 

<Product><Type>Metal</Type><Department>Foundry</Department></Product> 

오류 메시지가 정말이 어떤 도움을 주셔서 감사합니다.

+2

유효한 XML입니까? XML이 유효하지 않은 경우 XmlDocument로로드하려고하는 이유는 무엇입니까? – Shyju

+0

@Shyju - 암호화 된 문자열 만 갖는 xml 문서입니다. – mikemind

+0

하지만 XML 파일에는 루트 요소가 없으며 XML 파일에는 " – Shyju

답변

1

경로을 XML 파일로 허용하는 XmlDocument.Load(string) 메서드를 사용하고 있습니다. 유효한 XML 마크 업을 허용하는 XmlDocument.LoadXml(string) 메소드를 사용해야합니다.

두 개의 완전히 다른 매개 변수.

예 :

// XmlDocument.LoadXml(string) 

string decryptedMarkup = "<Product><Type>Metal</Type>" 
    + "<Department>Foundry</Department></Product>"; 
XmlDocument xmlDoc = new XmlDocument(); 
xmlDoc.LoadXml(decryptedMarkup); 


// XmlDocument.Load(string) 

string pathToFile = "test.xml"; 
XmlDocument xmlDoc2 = new XmlDocument(); 
xmlDoc2.Load(pathToFile); 


은 자세한 내용에 대해 살펴 :

XmlDocument.Load(string)

String 매개 변수 :로드 할 XML 문서가 포함 된 파일에 대한
URL. URL은 로컬 파일이거나 HTTP URL (웹 주소) 일 수 있습니다.


XmlDocument.LoadXml(string)

String 매개 변수 :로드 할 XML 문서를 포함
문자열.