加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

处理xml的命令工具

发布时间:2020-12-16 02:20:10 所属栏目:百科 来源:网络整理
导读:down vote XMLStarlet or another XPath engine is the correct tool for this job. For instance,with data.xml containing the following: root item title 15:54:57 - George: /title description Diane DeConn? You saw Diane DeConn! /description /ite

down vote

XMLStarlet or another XPath engine is the correct tool for this job.

For instance,withdata.xmlcontaining the following:

<root> <item><title>15:54:57 - George:</title><description>Diane DeConn? You saw Diane DeConn!</description></item>15:55:17 - Jerry:Something huh?</root>

...you can extract only the first title with the following:

xmlstarlet sel -t m '//title[1]' v .n <dataxml

Trying to use sed for this job istroublesome. For instance,the regex-based approaches won't work if the title has attributes; won't handle CDATA sections; won't correctly recognize namespace mappings; can't determine whether a portion of the XML documented is commented out; won't unescape attribute references (such as changingBrewster &amp; JobstoBrewster & Jobs),and so forth.
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

Do you reallyhave touse only those tools? They're not designed for XML processing,and although it's possible to get something that works OK most of the time,it will fail on edge cases,like encoding,line breaks,etc.

I recommend xml_grep:

xml_grep 'job' jobsxml --text_only

Which gives the output:

programming

On ubuntu/debian,xml_grep is in the xml-twig-tools package.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读