2014-09-02 56 views
0

我有一個Web服務有一個方法接受ID號作爲參數,並返回包含他的個人信息的對象。現在我需要將這個Object類型的對象轉換爲XmlNode。如果我使用:wcf服務 - 將對象轉換爲System.Xml.XmlNode

XmlNode xml = (XmlNode)retObj; //here retObj is of type Object 

然後我沒有獲取值的節點。

請幫助我,我怎麼可以得到所有的details..Please ......此外,我沒有使用SOAP ....所以我需要的解決方案在不使用SOAP的代碼

+1

通常你應該投你的對象到一個強類型的DTO,所以你可以使用XMLSerializer的序列化,你對象到XML – InferOn 2014-09-02 05:04:55

+0

什麼是那些強類型的DTO一些獲得的XMLNode ... PLZ FIGE如代碼行 – user3743646 2014-09-02 05:20:29

+0

我在這個頁面下面寫下了我的問題... plz參考它...我仍然沒有得到解決方案 – user3743646 2014-09-02 06:54:24

回答

2

我承擔你知道你的服務返回的對象的結構,通常你應該你的對象映射到DTO如下:

var dto = (MyObjDTO)retObj; 
    XmlSerializer serializer = new XmlSerializer(typeof(MyObjDTO)); 
    StringWriter textWriter = new StringWriter(); 
    serializer.Serialize(textWriter, dto); 

public class MyObjDTO 
    { 
    public string Name { get;set;} 
    public string DOB { get; set; } 
    public string Nationaliy { get; set; } 

    } 

那麼你可以使用一個XmlSerializer序列化的DTO串然後通過XmlDocument的

var xmlString = textWriter.ToString(); 
    XmlDocument doc = new XmlDocument(); 
    doc.LoadXml(xmlString); 
    XmlNode newNode = doc.DocumentElement;