2017-04-12 3 views
2

Hier ist die ungültige XML-Antwort, die ich mit C#, analysieren muss Ich versuche, eine Klasse für die Antworten zu erstellen und hatte wenig Erfolg.Parse ungültiges XML C#

<Response service=\"RouteService\"> 
<Head>OK</Head> 
<Body> 
    <RouteResponse mailno=\"070033764942\"> 
     <Route accept_time=\"2017-03-23 10:57:13\"\taccept_address=\"United States\"\tremark=\"For Sign Info, please see 'AWB Info &amp; POD' in our website\"\topcode=\"8000\"/> 
     <Route accept_time=\"2017-03-23 10:52:10\"\taccept_address=\"United States\"\tremark=\"Have been signed(MS.TT),Thank you for using SF, and looking forward to serving you again\"\topcode=\"80\"/> 
     <Route accept_time=\"2017-03-23 10:52:10\"\taccept_address=\"United States\"\tremark=\"Have been signed(MS.TT),Thank you for using SF, and looking forward to serving you again\"\topcode=\"80\"/> 
     <Route accept_time=\"2017-03-23 10:46:37\"\taccept_address=\"SHENZHEN CITY\"\tremark=\"S.F. Express has picked up the shipment\"\topcode=\"50\"/> 
     <Route accept_time=\"2017-03-23 10:46:37\"\taccept_address=\"SHENZHEN CITY\"\tremark=\"S.F. Express has picked up the shipment\"\topcode=\"50\"/> 
    </RouteResponse> 
</Body> 

+3

Ersetzen Sie alle '\" 'mit' '' und alle '\ t' mit' '? – DavidG

+0

Korrigieren Sie den Code, der ungültiges XML generiert hat. – jdweng

Antwort

3

Es klingt wie Sie versuchen, die Standard-C# XML-Bibliotheken zu verwenden, um eine nicht-rechtliche XML-Datei zu analysieren.

Das wird nicht funktionieren. Sie müssen die Datei zuerst "gültig" machen.

SUGGESTION:

  1. den XML-Text in einen String lesen.

  2. Alle \" durch " ersetzen.

  3. Verwenden Sie die Standardbibliotheken, um das "korrigierte" XML zu analysieren.

+1

dort müssen Leerzeichen hinzugefügt werden, wo es \ t für die richtige Analyse gibt. –