je le code XML suivant:Aide en parsing XML, chaîne simple - mais je ne peux pas sembler l'analyser
<iq xmlns="jabber:client" to="[email protected]/agsXMPP" xml:lang="en" id="sub23" from="search.google.com" type="result">
<pubsub xmlns="http://jabber.org/protocol/pubsub">
<subscription subscription="subscribed" subid="5077774B57777BD77770" node="search" jid="[email protected]/agsXMPP" />
</pubsub>
</iq>
J'ai essayé avec l'analyse syntaxique LINQ to SQL, mais il ne semble pas comprendre que ce sont des nœuds différents. Il regroupe l'ensemble de l'iq en un seul élément.
Quelqu'un peut-il aider à l'analyser en utilisant XML?
Les données que je veux est le subid = "5077774B57777BD77770" et id = "sub23"
Merci!
Edit:
Voici le code que je l'ai, il a essayé de faire de deux façons:
XDocument doc = XDocument.Parse("<xml>" + iq.ToString() + "</xml>");
var results = from feed in doc.Elements("xml")
select new
{
Id = (string)feed.Element("iq").Attribute("id"),
Subid = (string)feed.Element("iq").Element("pubsub").Element("subscription").Attribute("subid")
};
et
var doc = new System.Xml.XmlDocument();
doc.LoadXml(iq.ToString());
var searchId = doc.Attributes["id"];
var subid = doc.SelectSingleNode("/pubsub/subscription").Attributes["subid"];
s'il vous plaît montrer le code que vous avez – Hogan
@Hogan vient d'être ajouté le code que j'avais ci-dessus – rksprst
Bonne question, +1. Voir ma réponse pour une référence à une explication et un exemple de code complet comment construire des expressions XPath lorsque le document XML a un espace de noms par défaut. –