- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下 XML:
<rss version="2.0"
xmlns:excerpt="http://wordpress.org/export/1.2/excerpt/"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.2/"
>
<channel>
<item>
<title>Lucy – Official trailer 2014 – Universal Pictures</title>
<pubDate>Mon, 10 Jul 2017 13:13:05 +0000</pubDate>
<description></description>
<excerpt:encoded><![CDATA[]]></excerpt:encoded>
<wp:post_id>5688</wp:post_id>
<wp:post_date><![CDATA[2017-07-10 13:13:05]]></wp:post_date>
<wp:post_date_gmt><![CDATA[2017-07-10 13:13:05]]></wp:post_date_gmt>
<wp:comment_status><![CDATA[closed]]></wp:comment_status>
<wp:ping_status><![CDATA[open]]></wp:ping_status>
<wp:post_name><![CDATA[lucy-official-trailer-2014-universal-pictures]]></wp:post_name>
<wp:status><![CDATA[publish]]></wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type><![CDATA[post]]></wp:post_type>
<wp:post_password><![CDATA[]]></wp:post_password>
<wp:is_sticky>0</wp:is_sticky>
<wp:postmeta>
<wp:meta_key><![CDATA[jtheme_video_file]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_post_like_count]]></wp:meta_key>
<wp:meta_value><![CDATA[6]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[snap_isAutoPosted]]></wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_snap_forceSURL]]></wp:meta_key>
<wp:meta_value><![CDATA[2]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[snap_MYURL]]></wp:meta_key>
<wp:meta_value><![CDATA[]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[snapEdIT]]></wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_post_like_modified]]></wp:meta_key>
<wp:meta_value><![CDATA[2017-07-13 19:58:16]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[_yst_prominent_words_version]]></wp:meta_key>
<wp:meta_value><![CDATA[1]]></wp:meta_value>
</wp:postmeta>
<wp:postmeta>
<wp:meta_key><![CDATA[jtheme_video_code]]></wp:meta_key>
<wp:meta_value><![CDATA[<iframe width="1280" height="720" src="https://www.youtube.com/embed/bN7ksFEVO9U" frameborder="0" allowfullscreen></iframe>]]></wp:meta_value>
</wp:postmeta>
</item>
</channel>
通过使用 xmlstarlet 和 XPath,我想搜索带有 wp:meta_value 标签和 videoID bN7ksFEVO9U 的 wp:postmeta。
找到正确的 wp:metavalue 后应该打印出项目下的这个标签的标题
提前谢谢你
最佳答案
您需要做的是将 http://wordpress.org/export/1.2/
命名空间绑定(bind)到前缀(使用 -N
),匹配正确的 item
(使用 -m
)并打印值(使用 -v
)。您还可以使用 -n
在标题后打印换行符。
例子...
==> xml sel -N wp=http://wordpress.org/export/1.2/ -t -m "/rss/channel/item[wp:postmeta[normalize-space(wp:meta_key)='jtheme_video_code' and contains(wp:meta_value,'/bN7ksFEVO9U\"')]]" -v "title" -n input.xml
Lucy – Official trailer 2014 – Universal Pictures
关于linux - xmlstarlet,根据子标签在XML中找到一个标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46497549/
如果在 xmlsarlet 部分提出了这个问题,我们深表歉意。我试图搜索它但找不到所以在这里发布。以便将来对我和其他新手也有帮助。 作为 xmlstarlet 的新手,我想学习它。那么XMLSTARL
使用此示例 XML: 如何插入元素 紧接在元素之后 使用 XMLStarlet? 最佳答案 xml ed -i(或--insert)将把它放在节点之前,xml ed -a(
如何从所有元素中提取“失败”并将它们相加? 3 a 00 105370
我有这个 xml 模式,我想要的是如何在 shell 脚本中使用 XMLStarlet 一一提取所有节点的值 Photo_Gallerie_1.jp
我想在 pom.xml 文件中找到对 SNAPSHOT 版本的引用。让我们使用位于 here 的 POM 文件举个例子。我想出了以下命令来查找包含字符串 SNAPSHOT 的元素: $ xmlstar
我想在 之后添加这个 block 00:00:05:00 1 2 00:00:01:00 下面是我的预期输出: Auto 0
这是 xml 片段: $ cat short.xml 期望的输出是: yahoo.com | ir1.fp.vip.sp2.yahoo.com Inc.
seg PASS1 PASS2" 我是 xmlstartlet 的新手。在上面的代码中,我试图将 star
我正在尝试自动将新的子节点添加到 nexus-core-feature-3.16.1-02.xml 因为我们正在使用一些插件来处理“盒子”解决方案不附带的工作。要点是,当新版本的 nexus-cont
我正在尝试使用 xmlstarlet 格式化 xml 文件,但我不想创建新的 xml 文件。 我试过了 xmlstarlet fo --inplace --indent-tab --omit-decl
我想使用 xmlstarlet 将第三方 xml 文件转换为 csv 文件。一些文件使用带有 xmlns 声明的默认 namespace ,其他文件使用没有 xmlns 声明的默认 namespace
我需要您在 XMLStarlet 命名空间方面的帮助。 (从未见过解释得不好的图书馆) 我有一个 XML 文件,如: My text Couverture 等等。 所以现在,由
以这个 xml 为例: Batch Editing Tool Apply Actions Modify Records Remove all Records Destroy al
我想知道如何使用 xmlstarlet 添加新行。 我的目标是添加一个 track_01在 job/input/file_input/uri. 之后 Auto 0 f
我正在处理一个处理 xml 文件的脚本。 我想用 xmlstarlet 更新这个 xml 文件中的属性值,但它不起作用。 这是 xml 文件的示例:
我想通过命令行更新 xml 文件中的值。 我是 xmlstartlet 的新手,我尝试使用以下命令,但它不起作用 xml ed -u "/web-app/welcome-file-list/welco
我正在使用命令: xmlstarlet ed --omit-decl --subnode "/boinc"--type elem -n app -v ""project_00.xml > projec
我正在使用命令: xmlstarlet ed --omit-decl --subnode "/boinc"--type elem -n app -v ""project_00.xml > projec
目前我有以下命令行,其中 $f 代表文件: xmlstarlet ed -d "//*/packageVersions" $f; 我也试过 xmlstarlet ed -d "//packageVer
我从未使用过 xmlstarlet,所以我只是想通过输入和所需的输出来保持简单,希望我能从发布的答案中学到一些东西。 输入: http://www.MYDOMAIN.com/
我是一名优秀的程序员,十分优秀!