У меня есть следующий XML:
<iq xmlns="jabber:client" to="39850777771287777738178727@guest.google.com/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="39850777771287777738178727@guest.google.com/agsXMPP" />
</pubsub>
</iq>
Я пытался выполнить синтаксический анализ с linq to sql, но, похоже, он не понимает, что это разные узлы. Он группирует весь iq в один элемент.
Может ли кто-нибудь помочь разобрать это с помощью XML?
Данные, которые я хочу получить, это subid = "5077774B57777BD77770" и id = "sub23"
Спасибо!
Edit:
Вот код, который я имею, попытался сделать это двумя способами:
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")
};
и
var doc = new System.Xml.XmlDocument();
doc.LoadXml(iq.ToString());
var searchId = doc.Attributes["id"];
var subid = doc.SelectSingleNode("/pubsub/subscription").Attributes["subid"];