我如何从字符串中删除xml

我如何从字符串中删除xml

问题描述:

请将我的结果作为字符串转换为字符串并将其转换为对象。我如何从字符串中删除xml

这是字符串,我从我的服务越来越:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <soap:Body> 
     <AccountStatementResponse xmlns="http://formalityzues.com/"> 
     <AccountStatementResult><![CDATA[<?xml version="1.0" encoding="UTF-8" ?><ViewStatementResponse><TransactionItems><RefNumber>2</RefNumber><TransactionDate>31/05/2017</TransactionDate><ValueDate>31/05/2017</ValueDate><Amount>400</Amount><Narration>CHIEF ATTENDANT</Narration><TransactionType>CR</TransactionType><BalanceAfterTransaction>57003602.16</BalanceAfterTransaction></TransactionItems><TransactionItems><RefNumber>3</RefNumber><TransactionDate>31/05/2017</TransactionDate><ValueDate>31/05/2017</ValueDate><Amount>3800</Amount><Narration>HEAD QUATERS</Narration><TransactionType>CR</TransactionType><BalanceAfterTransaction>57007402.16</BalanceAfterTransaction></TransactionItems></ViewStatementResponse>]]></AccountStatementResult> 
     </AccountStatementResponse> 
    </soap:Body> 
</soap:Envelope> 

请我怎么做呢?

[XmlRoot("ViewStatementResponse")] 
public class Model 
{ 
    [XmlElement("OpeningBalance")] 
    public string OpeningBalance { get; set; } 

    [XmlElement("ClosingBalance")] 
    public string ClosingBalance { get; set; } 

    [XmlElement("TransactionItems")] 
    public List<TransactionDetails> TransactionItems { get; set; } 
} 

public class TransactionDetails 
{ 
    [XmlElement("RefNumber")] 
    public string RefNumber { get; set; } 

    [XmlElement("TransactionDate")] 
    public string TransactionDate { get; set; } 

    [XmlElement("ValueDate")] 
    public string ValueDate { get; set; } 

    [XmlElement("Amount")] 
    public string Amount { get; set; } 

    [XmlElement("Narration")] 
    public string Narration { get; set; } 

    [XmlElement("TransactionType")] 
    public string TransactionType { get; set; } 

    [XmlElement("BalanceAfterTransaction")] 
    public string BalanceAfterTransaction { get; set; } 
} 

我正在使用这个,但它没有返回错误。 我无法做到。我是新来的xml.please工作协助

+2

[反序列化字符串代替TextReader]可能的重复(https://*.com/questions/2347642/deserialize-from-string-instead-textreader) –

+0

您是如何调用服务器的?提供的XML是一个SOAP响应 - 您是使用SOAP还是通过GET/POST获取数据?除此之外,这应该与默认的XmlSerializer一起工作 - 可能会显示您已经尝试过的代码? – ChrFin

作为首发下面做工作,如题所给读你的XML:

var soap = XDocument.Parse(response); // response is the XML as given 
var data = soap.Descendants("{http://formalityzues.com/}AccountStatementResult").First(); 
var reader = new StringReader(data.Value); 
var serializer = new XmlSerializer(typeof(Model)); 
var model = serializer.Deserialize(reader) as Model; 

请参阅下捣鼓工作示例:https://dotnetfiddle.net/fvYYqD