2012-10-25 2 views
0

긴 XML 문자열을 구성하고 그 엔티티 중 일부는 dll로 읽은 다른 xml 파일에서 가져온 것입니다. 결국이 xml 문자열을 XElement.Save()에 의해 파일에 저장하고 싶습니다. 문자열을 파일에 저장할 수 없습니다. 예를 들어XElement에서 내 xml 파일을 파일에 저장할 수없는 이유는 무엇입니까?

: 나는이 DLL을 사용하지 않는 경우

XElement root = new XElement("Root"); 
// ..... 
root.Save(filename); // <-- wrong! 

그러나, 모든 것이 괜찮습니다. 심지어 난 그냥 DLL을 호출하고 아무것도하지, 그것은 나를 위해 작동하지 않습니다. 아무도 나를 도울 수 있습니까? 기존의 XML 파일로 노드를 덧붙이 주셔서 감사합니다

+2

무엇 실제로 * 일어난다? "파일에 문자열을 저장할 수 없습니다"는 문제에 대한 설명이 아니며 코드의 "잘못"으로 인해 정보가 제공되지 않습니다. –

+0

그것은 잘 작동하지만 지시대로 문자열을 저장하지 않습니다. 내가 확인할 수있는 오류 메시지 나 다른 것들은 없다. 프로그램에서 dll을 만지면 문자열을 저장할 수 없습니다. – user1189507

+0

파일 이름은 상대적입니까, 아니면 절대입니까? 그것은 프로그램의 다른 곳에서 사용되었을 수있는 파일입니까? 오류를 숨길 수있는 예외 처리가 있습니까? –

답변

2

: 처음부터 을

1) 생성 한 Root.xml file :

<?xml version="1.0" encoding="utf-8"?> 
<Main> 
</Main> 

2) Load and Append 노드에이 코드를 사용 :

XElement xml = new XElement("Root"); 

XDocument xdoc = XDocument.Load("Root.xml"); 
xdoc.Element("Main").Nodes().Last().AddAfterSelf(xml); //append after the last backup element 
xdoc.Save("Root.xml"); 
+0

XML 형식과 관련이 없을 수도 있습니다. xml 문자열은 두 부분으로 구성되어 있습니다 : 하나는 내 프로그램에서, 다른 하나는 DLL에서 구성한 것입니다. 그것은 내 자신의 XML 문자열을 저장하려고해도 문자열을 저장하지 않습니다. 매우 이상합니다. – user1189507

관련 문제