2013-05-20 2 views
1

Je stocke la sortie XML à String et je convertis cette chaîne en XML. Je réussis à convertir XML en String, mais j'ai encore eu un problème en convertissant la chaîne en XML.Convertir une chaîne en XML en utilisant .Net

exemple de code:

webservice.Service1 objService1 = new webservice.Service1(); 
    String s = objService1.HelloWorld(); //Convert XML output into String 
    XmlDocument xd = new XmlDocument(); 
    xd.LoadXML(s); 

J'utilise la méthode LoadXML(), mais je me suis erreur

Data at the root level is invalid. Line 1 position 1. 

Son reconnaissant, si un organisme donne le code droit de convertir la chaîne XML en C#. Merci,

+1

Veuillez indiquer la valeur de 's' - il y a de bonnes chances que ce ne soit pas un XML. –

+0

Mettez la réponse de chaîne de la méthode 'HelloWorld()'. –

Répondre

5

Vous devez utiliser XDocument. XDocument est meilleur que XMLDocument. C'est très efficace, simple et facile à utiliser.

Votre code:

webservice.Service1 objService1 = new webservice.Service1(); 
    String s = objService1.HelloWorld(); //Convert XML output into String 
    XmlDocument xd = new XmlDocument(); 
    xd.LoadXml(s); 

Solution:

XDocument xd = XDocument.Parse(s); 
+0

Il est difficile de savoir pourquoi l'utilisation d'un analyseur XML différent rendra le texte XML valide (si un autre analyseur ne peut pas le reconnaître). Aussi, les "remerciements" ne sont pas nécessaires ... –

1
 XmlDocument xd = new XmlDocument(); 
     xd.LoadXml("<root>123</root>"); 

Il fonctionne. Vous devez imprimer la valeur s et vérifier qu'il s'agit d'une chaîne XML valide.

Questions connexes