2017-10-19 146 views
0

我有這個XML來閱讀:解析XML爲對象,標籤之間的打印內容 - QT

<item>...</item> 
    <item> 
     <title>Lamar Alexander, Jeff Sessions, Xi Jinping: Your Wednesday Evening Briefing</title> 
     <link>https://www.nytimes.com/2017/10/18/briefing/jeff-sessions-lamar-alexander-xi-jinping.html?partner=rss&amp;emc=rss</link> 
     <guid isPermaLink="true">https://www.nytimes.com/2017/10/18/briefing/jeff-sessions-lamar-alexander-xi-jinping.html</guid> 
     <atom:link rel="standout" href="https://www.nytimes.com/2017/10/18/briefing/jeff-sessions-lamar-alexander-xi-jinping.html?partner=rss&amp;emc=rss"/> 
     <media:content url="https://static01.nyt.com/images/2017/10/18/briefing/18eveningss-slide-3PL9/18eveningss-slide-3PL9-moth.jpg" medium="image" height="151" width="151"/> 
     <media:description/> 
     <media:credit>J. Scott Applewhite/Associated Press</media:credit> 
     <description>Here&#x2019;s what you need to know at the end of the day.</description> 
     <dc:creator>KAREN ZRAICK and SANDRA STEVENSON</dc:creator> 
     <pubDate>Wed, 18 Oct 2017 23:37:23 GMT</pubDate> 
    </item> 
<item>...</item> 

我想打印標題屬性:

QDomNodeList list = doc.elementsByTagName("item"); 

QDomElement elem = list.at(0); //this containt first item content 
qDebug() << elem.attribute("title"); 

但qDebug()打印沒有。爲什麼?如何獲得標籤內容?

感謝

回答

1

因爲冠軍不是它是一個元素的屬性!屬性是例如isPermaLinkGUID元件,或HREF原子:鏈路

QDomElement elem = list.at(0).toElement(); 
QDomElement title = elem.firstChildElement("title"); 
if(!title.isNull())qDebug() << title.text(); 
QDomElement guid = elem.firstChildElement("atom:link"); 
if(!guid.isNull())qDebug() << guid.attribute("href");