2012-04-11 13 views
0

Kann jemand XML aus einem String konvertieren? Ich habe die Konvertierung von XML zu String-Werten gesehen, aber nicht String zu XML. Ich habe eine Zeichenfolge, die den XML-Inhalt enthält, aber wenn ich die parse()-Methode verwende, schlägt es fehl. HierWie konvertiert man XML-Daten aus einem String?

ist das Beispiel:

String content = EntityUtils.toString(responseEntity); 
Therefore content now contains:  
    content = "<MGMT>" + 
     "<NET>" + 
      "<HEAD>" + 
       "<ClientID>99999999</ClientID>" + 
       "<ServerID>WEB_01</ServerID>" + 
       "<Rsp>00</Rsp>" + 
       "<Auth></Auth>" + 
      "</HEAD>" + 
      "<STAT>" + 
       "<IP>192.168.5.158</IP>" + 
       "<Status>OK, Success!</Status>" + 
     "</NET>" + 
    "</MGMT>"; 

Hilfe bitte? Vielen Dank!

+0

Was meinst du? Möchten Sie eine Art Java-XML-Objekt erstellen, das die in der Zeichenfolge enthaltene XML darstellt? Es ist nicht klar, was Sie zu tun versuchen. –

+0

Der XML-Inhalt wird in einer String-Variablen gespeichert. Ich möchte diese Zeichenfolge analysieren, die XML in Werten speichert, die ich verwenden kann. Im obigen Beispiel. Was ich verwenden möchte, sind ' Ok, Erfolg! ', usw. Aber da es ein String-Wert ist, kann ich das analysieren? Ich habe versucht, eine 'XMLReader.parse (Inhalt)' und es ist fehlgeschlagen. Ich glaube, dass ich einige Schritte falsch gemacht habe, aber ich kann nicht herausfinden, welche. –

Antwort

0

Folgen Ihre "Inhalte" dem XML-Format?

<?xml version="1.0" encoding="UTF-8" ?>

Ich glaube, Sie zuerst Ihren „Inhalt“ in einer Datei speichern kann, und dann die Datei analysieren: Sie können einen Header vor dem „Inhalt“, wie hinzufügen. Dies kann Ihnen helfen, Ihr XML-Format zu überprüfen.

Viel Glück.

+0

Ja, das hat es. Ich habe es hier nicht hingelegt. Wie erstelle ich eine temporäre Datei zum Speichern? Dann danach, parse es? –

+0

Ihr "Inhalt" ist illegal, wie die andere Antwort sagte. Ich denke, das ist das Problem. Übrigens sollte es eine Menge XML-Parser geben, die einen String als XML analysieren können. [Hier] (http://www.xmlvalidation.com/) ist ein Link, mit dem Sie Ihre XML-Zeichenfolge überprüfen können. – Freedom

+0

Entschuldigung! Es hat nicht dieses UTF-8 !! Dies ist das Format. '' –

0

Der Beispielinhalt enthält kein abschließendes STAT-Tag.

Sobald ich fügte hinzu, dass konnte ich die Zeichenfolge mit LINQ to XML analysieren:

 string sContent = 
     sContent = "<MGMT>" + 
    "<NET>" + 
     "<HEAD>" + 
      "<ClientID>99999999</ClientID>" + 
      "<ServerID>WEB_01</ServerID>" + 
      "<Rsp>00</Rsp>" + 
      "<Auth></Auth>" + 
     "</HEAD>" + 
     "<STAT>" + 
      "<IP>192.168.5.158</IP>" + 
      "<Status>OK, Success!</Status>" + 
     "</STAT>" + 
    "</NET>" + 
"</MGMT>"; 


     XElement element = XElement.Parse(sContent); 

     string sStatus = element.Descendants("Status").First().Value; 

Ich weiß nicht, ob LINQ to XML ist verfügbar, wenn für die Android-Programmierung, aber hoffentlich die Identifizierung von Das fehlende Tag wird Ihr Grundproblem lösen.

+0

Ist das XElement ein XML-Parser? –

+0

Es klang, als ob Sie bereits Zugriff auf einige Parsing-Funktionen hatten, als Sie in Ihrem ursprünglichen Post auf XmlReader verwiesen haben. Hast du das mit dem überarbeiteten Inhalt versucht? – Steve

Verwandte Themen