Voici ma réponse XML:Comment analyser XML ayant plusieurs espaces de noms par défaut?
<DIDL-Lite
xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/"
<item id="1182" parentID="40" restricted="1">
<title>Hot Issue</title>
</item>
</DIDL-Lite>
Quand je suis en train de l'analyser en utilisant xELemnt et essayez d'affecter à un var comme ci-dessous:
var vnyData = from xmyResponse in xResponse.Descendants("DIDL-Lite").Elements("item")
select new myClass
{strTitle = ((string)xmyResponse .Element("title")).Trim()};
Ce ne yeilding aucun résultat.
Merci, Subhendu
Merci, monsieur Einstein. Dans mon document, il y a plusieurs Namespace.So dans ce cas dois-je écrire: XNamespace ns = "urn: schémas-upnp-org: métadonnées-1-0/DIDL-Lite /"; XNamespace ns1 = "http://purl.org/dc/elements/1.1/"; XNamespace ns2 = "urn: schémas-upnp-org: métadonnées-1-0/upnp /"; var xDIDL = xResponse.Element (ns + ns1 + ns2 + "DIDL-Lite"); – Simsons
Non, dans votre document XML, tout élément qui n'a pas de préfixe se trouve dans l'espace de noms "default" (c'est-à-dire, celui qui indique xmlns = "..." par opposition à xmlns: prefix = "...") il suffit donc de faire ns + "ElementName". Cependant, si vous référeniez un élément dans un autre espace de nom, vous auriez à faire ns1 + "ElementName" ou ns2 + "ElementName" mais jamais plus d'un espace de noms pour un nom d'élément particulier. – Josh