2012-05-29 3 views
0

다음 코드는 메모리에 XML 파일을 만들고 업데이트 한 다음 양식 라이브러리에 추가하는 코드입니다.파일을 만든 후 파일에 액세스

// Creates a new XML document in memory 
XmlDocument newCRF = new XmlDocument(); 

// Loads an existing XML file into that in-memory document 
newXMLdoc.Load("Template.xml"); 

// Write the XML file to a document library 
using (SPSite newSite = new SPSite("http://sharepoint/newsite")) 
{ 
    using (SPWeb newWeb = newSite.OpenWeb()) 
    { 
     SPList newLibrary = newWeb.Lists["Test Library"]; 
     byte[] xmlData = System.Text.Encoding.UTF8.GetBytes(newXMLdoc.OuterXml); 

     // Save file to form library 
     using (MemoryStream ms = new MemoryStream(xmlData)) 
     { 
      SPFile newFileInLibrary = newLibrary.RootFolder.Files.Add("Filename.xml", ms); 
     } 
    } 
} 
나는 그것이 (예 : "작성자"와 같은) 속성을의에 내가 변경을 할 수 있도록 'newFileInLibrary'개체에 액세스 할 수있는 방법을

?

+0

FileInfo 클래스를 확인하십시오. –

답변

0

이 코드를 사용하여 SPListItem 개체를 얻을 수 있습니다 :

// Save file to form library 
    SPFile newFileInLibrary = null; 
    using (MemoryStream ms = new MemoryStream(xmlData)) 
    { 
     newFileInLibrary = newLibrary.RootFolder.Files.Add("Filename.xml", ms); 
    } 
    SPListItem fileItem = newFileInLibrary.Item; 
    DoSomethingWith(fileItem["Created"]); 

시를 : 당신이 http://sharepoint.stackexchange.com에 게시 고려 했는가?

+0

답장을 보내 주셔서 감사합니다. 나는 당신의 코드에서 5 번째 행에서 다음과 같은 것을 얻고있다 : " 'newFileInLibrary'라는 로컬 변수는 'newFileInLibrary'에 다른 의미를 부여하기 때문에이 범위에서 선언 할 수 없다. 'newFileInLibrary'는 이미 '부모 또는 현재' SharePoint 사이트에 게시하는 것을 고려했지만 SharePoint와 관련된 특정 언어 문제가 아니라 언어 문제라고 생각했습니다. –

+0

'newFileInLibrary' 변수가 사용되기 전에이 유형을 제거한 것을 알고 계셨습니까? 'using' 블록? 사실, 변수를 범위 (메서드)로 범위를 지정했지만 using 블록 내부에 할당했습니다. –

관련 문제