2011-02-05 2 views
0

이것은 아마도 매우 초보자 질문입니다.하지만 XMLWriter와 같은 것을 반환하고 그 내용을 다른 xmlwriter에 추가하는 함수를 작성하려고합니다. 예를 들어xml 비트를 반환하는 함수를 작성하고 있습니까?

:

XmlWriter ToXML() 
    { 
     XmlWriterSettings oSettings = new XmlWriterSettings(); 
     oSettings.Indent = true; 
     oSettings.OmitXmlDeclaration = false; 
     oSettings.Encoding = Encoding.Unicode; 
     Stream output = Stream.Null; 

     XmlWriter writer = XmlWriter.Create(output, oSettings); 
     { 
      writer.WriteStartDocument(true); 
      writer.WriteComment("This BaseSprite was created by the in-phone level editor"); 

      writer.WriteStartElement("testelement"); 

      writer.WriteStartAttribute("Name"); 
      writer.WriteValue("John Howard"); 
      writer.WriteEndAttribute(); 

      writer.WriteEndElement(); 
     } 

     return writer; 
    } 

    void SomeOtherFunction() 
    { 
     XMLWriter xmlthing; 

    // add xml things to it 

    xmlthing += ToXML(); // now the contents of ToXML has been added in to xmlthing 
    } 

이 가능합니까?

* 질문 업데이트 :

XmlWriter writer; 
     XDocument doc = new XDocument(); 
     { 
      writer = doc.CreateWriter(); 

      writer.WriteStartDocument(true); 
      writer.WriteComment("This BaseSprite was created by the in-phone level editor"); 

      writer.WriteStartElement("testelement"); 

      writer.WriteStartAttribute("Name"); 
      writer.WriteValue("John Howard"); 
      writer.WriteEndAttribute(); 

      writer.WriteEndElement(); 

      writer.Close(); 
     } 

     XDocument doc2 = new XDocument(); 
     { 
      writer = doc2.CreateWriter(); 

      writer.WriteStartDocument(true); 

      writer.WriteStartElement("testnestedelement"); 

      writer.WriteStartAttribute("DUUUUUDE"); 
      writer.WriteValue("WHERES MY CAR!?"); 
      writer.WriteEndAttribute(); 

      writer.WriteEndElement(); 

      writer.Close(); 
     } 

     doc.Element("testelement").Add(doc2); // how can I make it so that doc2 is added as a nested element in 'testlement' from doc? 

답변

1

앱에 많은 기능 중 XML을 구성해야하는 경우 I가 된 XmlDocument를 사용하는 것을 선호합니다. http://msdn.microsoft.com/en-us/library/system.xml.xmldocument.aspx 또는하여 XDocument 실버 라이트 는 : http://msdn.microsoft.com/en-us/library/system.xml.linq.xdocument%28v=VS.95%29.aspx 는 당신은 단일하여 XDocument 또는을 XmlDocument를 작성하고 당신이 그것을 조작하는 데 필요한 모든 기능을 통해 그것을 전달합니다.

+0

XMLDocument에 대한 액세스 권한이 없습니다. WP7 프로젝트를 실행하고 있습니다 (링크에 따라 System.Xml에 있어야하지만 해당 어셈블리에 XMLDocument가 없습니다). XDocument가 있지만 ... – tweetypi

+0

답장을 업데이트했습니다. –

+0

어딘가에 붙어있어 내 질문을 업데이트했습니다 ... – tweetypi

관련 문제