2009-02-26 2 views
19

나는 문자열을 가지고 그 값은 다음과 같습니다XML 문자열을 파일에 쓰려면 어떻게해야합니까?

<ROOT> 
    qwerty 
    <SampleElement>adsf</SampleElement> 
    <SampleElement2>The text of the sample element2</SampleElement2> 
</ROOT> 

가 어떻게 C# 3.0을 사용하여 파일에이 문자열을 쓸 수 있습니다?

미리 감사드립니다.

+1

표제 아주 잘못된 것이다. 정말 C에서 파일 I/O에 대해 뭔가를 말해야 – Akrikos

+0

앤드류 왜 롤백? –

+0

나는 OP가 쓴 것이기 때문에 "Hi everyone"물건을 포함하여 최대한 원본 게시물을 존중해야한다고 생각합니다. 아무것도 개인 :) # –

답변

0

CDATA section을 사용해야합니다. 더 구체적으로 XmlDocument.CreateCDataSection을 사용하여 XmlCDataSection을 만들고 문자열을 매개 변수로 제공하십시오.

45

이 시도 :

string s = "<xml><foo></foo></xml>"; 
XmlDocument xdoc = new XmlDocument(); 
xdoc.LoadXml(s); 
xdoc.Save("myfilename.xml"); 

은 XML이 잘못된 경우 부하가 실패 할 추가 혜택이 있습니다.

+2

+1 인코딩 등에 대해서 걱정하지 않아도됩니다. – bernhof

17
File.WriteAllText("myFile.xml",myString); 
+0

+1 편리하게 IO 호출을하기 위해 파일을 XDocument로 변환하는 데 오버 헤드를 저장합니다. 직렬화 또는 비 네임 스페이스 Xml의 경우이 방법이 더 효율적입니다. – Jason

-3

나는 당신이 C#이라고 말했지만 XML 리터럴 용 VB.NET을 사용해 보았습니다. 놀라운 것들.

Public Class Program 
    Public Shared Sub Main() 
     Dim myKeyBoardStyle = "dvorak" 

     Dim myXML As XElement = <ROOT> 
           qwerty 
           <altKeyboard><%= myKeyBoardStyle.ToUpper() %></altKeyboard> 
            <SampleElement>adsf</SampleElement> 
            <SampleElement2>The text of the sample element2</SampleElement2> 
           </ROOT> 

     Console.WriteLine(myXML.ToString()) 

     myXML.Save(".\fileFromXElement.xml") 
    End Sub 
End Class 

통지 출력에 코드의 결과를 분사 순수한 원소 :

<?xml version="1.0" encoding="utf-8"?> 
<ROOT> 
           qwerty 
           <altKeyboard>DVORAK</altKeyboard><SampleElement>adsf</SampleElement><SampleElement2>The text of the sample element2</SampleElement2></ROOT> 

가위질 [제거 의견]

+5

이 작업에 적합한 도구의 경우는 아닙니다. 귀하의 게시물은 하나의 도구를 알고 그 안에 모든 것을 강제하는 한계의 한 예입니다. OP가 C#을 사용하여 다른 모든 작업을 수행하는 경우 XML 문자열을 저장하기 위해 VB.NET을 간단하게 도입하는 것은 터무니 없습니다. –

+0

아니요 동일한 솔루션에서 둘 이상의 언어로 된 프로젝트를 사용하여 열린 마음으로 할 수있는 일의 예에 대한 내 글. VB 언어 구문은 XML 용으로 매우 사용하기 쉽습니다. 저는 VB와 C# 둘 다 사용합니다. C#에서 pragadheesh로 "기타 모든 것"이 얼마나 많이 수행되는지는 분명하지 않습니다. 아마도 그는 대안을 탐구합니다. –

+8

XML 문자열을 저장하는 단순한 목적으로 다른 언어를 도입하는 것은 말도 안됩니다. 실제로 당신의 생각을 열어 당신이 제안하고있는 것에 대해 생각해보십시오 : "이봐, 내가 불도저를 가져올거야, 내가 필요한 것은 모두 흙손으로이 컵을 모래에 정원으로 옮기는거야." –

관련 문제