여기 내 XML 응답입니다 :여러 기본 네임 스페이스가있는 XML을 구문 분석하는 방법은 무엇입니까?
<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>
내가 xELemnt를 사용하여 분석하고 다음과 같은 VAR에 할당하려고 노력하고 있어요 :
var vnyData = from xmyResponse in xResponse.Descendants("DIDL-Lite").Elements("item")
select new myClass
{strTitle = ((string)xmyResponse .Element("title")).Trim()};
이 어떤 결과를 yeilding되지 않습니다. 이 명명 된 네임 스페이스 것처럼
덕분에, Subhendu
감사합니다. Mr. Einstein. 내 문서에는 여러 Namespace이 있습니다.이 경우에는 다음과 같이 써야합니다. XNamespace ns = "urn : schemas-upnp-org : metadata-1-0/DIDL-Lite /"; XNamespace ns1 = "http://purl.org/dc/elements/1.1/"; XNamespace ns2 = "urn : schemas-upnp-org : metadata-1-0/upnp /"; var xDIDL = xResponse.Element (ns + ns1 + ns2 + "DIDL-Lite"); – Simsons
아니요, XML 문서에서 접두어가없는 요소는 "기본"네임 스페이스에 있습니다 (즉, xmlns : "..."와 xmlns : prefix = "..."가 아닌)라는 네임 스페이스에 있습니다. 그래서 당신은 ns + "ElementName"을 할 필요가 있습니다. 그러나 다른 네임 스페이스의 요소를 참조하는 경우 ns1 + "ElementName"또는 ns2 + "ElementName"을 수행해야하지만 특정 요소 이름에 대해 두 개 이상의 네임 스페이스를 사용해야합니다. – Josh