首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将xml解析为对象,在标记- QT之间打印内容。

将xml解析为对象,在标记- QT之间打印内容。
EN

Stack Overflow用户
提问于 2017-10-19 07:35:17
回答 1查看 147关注 0票数 0

我有一个xml来阅读:

代码语言:javascript
复制
<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>

我试图打印标题属性:

代码语言:javascript
复制
QDomNodeList list = doc.elementsByTagName("item");

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

但是qDebug()什么也不打印。为什么?如何得到内容甲虫之间的标签?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-19 11:09:44

因为标题不是一个属性,它是一个元素!属性是例如guid元素中的isPermaLink,或原子:link中的href。

代码语言:javascript
复制
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");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46824796

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档