2010-07-23 4 views
1

다음 문자열을 SPUser 또는 SPUserValueField 같은 Sharepoint API 개체로 변환 할 수 있습니까? (파싱하지 않고)xmlns를 공유 API 개체에

"<my:Person xmlns:my=\"http://schemas.microsoft.com/office/infopath/2003/myXSD\"><my:DisplayName>devadmin</my:DisplayName><my:AccountId>GLINTT\\devadmin</my:AccountId><my:AccountType>User</my:AccountType></my:Person>" 

감사합니다, 데이비드 에스 테베스

답변

0

예, Microsoft.Office.Workflow.Utility 어셈블리는 Contact.ToContacts을 가지며 이는 Person XML을 0123의 배열로 deserialize합니다.인스턴스. 업데이트

http://msdn.microsoft.com/en-us/library/ms553588

-Oisin

+0

고마워, 그게 내가 찾고 있었던 바로 그거야. –

+0

그래, 나는 약 2 년 후에 그것을 우연히 발견했다. API에 너무 많은 것들이 숨겨져 있습니다. – x0n

0

해결 :

(그냥 예) 다음 함수는 사람에서 SPUser를 검색합니다

protected SPUser GetSPUserFromExtendedPropertiesDelegateTo(string xmnls_node) 
    { 

     StringBuilder oBuilder = new StringBuilder(); 
     System.IO.StringWriter oStringWriter = new System.IO.StringWriter(oBuilder); 
     System.Xml.XmlTextWriter oXmlWriter = new System.Xml.XmlTextWriter(oStringWriter); 
     oXmlWriter.Formatting = System.Xml.Formatting.Indented; 

     byte[] byteArray = Encoding.ASCII.GetBytes(xmnls_node); 
     MemoryStream stream = new MemoryStream(byteArray); 
     System.IO.Stream s = (Stream)stream; 

     System.IO.StreamReader _xmlFile = new System.IO.StreamReader(s); 

     string _content = _xmlFile.ReadToEnd(); 
     System.Xml.XmlDocument _doc = new System.Xml.XmlDocument(); 
     _doc.LoadXml(_content); 

     System.Xml.XPath.XPathNavigator navigator = _doc.CreateNavigator(); 
     System.Xml.XmlNamespaceManager manager = new System.Xml.XmlNamespaceManager(navigator.NameTable); 

     manager.AddNamespace("my", "http://schemas.microsoft.com/office/infopath/2003/myXSD"); 

     System.Xml.XmlNode _node = _doc.SelectSingleNode("/my:Person/my:AccountId", manager); 

     if (_node != null) 
     { 

      return this.workflowProperties.Web.EnsureUser(_node.InnerText.ToString()); 

     } 

     return null; 


    } 
+0

기능 대신 계정 아이디와 문자열의 SPUser 개체를 검색 할 수 있습니다. 어쨌든 올바른 방법은 Oisin이 게시 한 함수를 사용하는 것입니다. –

관련 문제