2017-04-12 5 views
1

내 xml은 다음과 같습니다. 항목을 검색하고 <title>, <description>과 같은 노드에서 데이터를 가져올 수 있습니다. 이것은 데이터jquery 또는 javascript를 사용하여 xml을 읽는 중

 var xmlparser = new DOMParser(); 
     var xmlData = xmlparser.parseFromString(data.text(), "text/xml"); 
     var items = xmlData.getElementsByTagName('item'); 
     for(var i = 0; i < items.length; i++){ 
      var title = items[i].getElementsByTagName("title")[0].childNodes[0].nodeValue; 
      var desc = items[i].getElementsByTagName("description")[0].childNodes[0].nodeValue; 
     } 
<pre xmlns:content="http://purl.org/rss/1.0/modules/content/" 
        xmlns:dcterms="http://purl.org/dc/terms/" 
        xmlns:media="http://search.yahoo.com/mrss/" version="2.0"> 
<Channel> 
    <item> 
    <title>List of records</title> 
    <description>reading xml</description. 
    <media:title xmlns:media="http://search.yahoo.com/mrss/"> 
    SinkorSwim Trailer 
    </media:title> 
    <title>Sink or Swim - Trailer</title> 
    <description>Jon Bowermaster's documentary</description>   
    <media:description xmlns:media="http://search.yahoo.com/mrss/"> 
    Jon Bowermaster's documentary on a learn-to-swim camp 
    </media:description> 
    <media:credit xmlns:media="http://search.yahoo.com/mrss/" role="Director" 
          scheme="urn:ebu"> 
    Jon Bowermaster 
    </media:credit> 
    <media:status xmlns:media="http://search.yahoo.com/mrss/" state="active"/> 
    <media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" 
    type="landscape" url="http://snagfilms-video.jpg"/> 
    <media:player xmlns:media="http://search.yahoo.com/mrss/" height="323" 
    url="http://embed.snagfilms.com/embed/player?filmId=00000158-b20c-d8f9- 
    affd-b32ce8700000" width="500"/> 
    </item> 
    <item></item> 
    <item></item> 
</channel> 
</pre> 

답변

0

(가) mediamedia:title에 XML 네임 스페이스 접두사를 나타냅니다를 얻을 수 얼마나 얼마나 <media:thumbnail>

, <media:title><media:credit>에서 값을 얻을 수 있습니다. 네임 스페이스 접두사는 네임 스페이스의 바로 가기입니다. 네임 스페이스는 문서의 어딘가에서 xmlns:media 특성으로 정의되어야합니다. 그런 다음 당신은 title 요소에 대해 조회 할 이름 공간을 인식 getElementsByTagNameNS() 기능을 사용할 수 있습니다 : 당신이

console.log(xml.getElementsByTagNameNS('xmlns:media="http://search.yahoo.com/mrss/"', 'title')); 

첫 번째 매개 변수는 네임 스페이스 이름이 아닌 접두사를 전달합니다.

관련 문제