微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

xpath – 测试XML属性

我有一个像这样的XML:
<root>
    <foo src=""/>
    <foo src="bar"/>
    <foo />
</root>

我想知道哪些元素有一个src属性,它们是空的,有哪些值.

我来的最远的是

$xmlstarlet sel -t -m '//foo' -v @src -n foo.xml 

bar

虽然没有告诉我第三个foo缺少属性.

这将选择没有src属性的foos.
/root/foo[not(@src)]

对于其他两个任务,我将使用@TOUDIdel和@Dimitre Novatchev指出的表达式的混合:
/ root / foo [@src和string-length(@src)= 0] for foos with a空src,和/ root / foo [@src和string-length(@src)!= 0]内容内容.

除此之外,我将避免使用“任何地方”选择器,(除非*通配符),除非你确定这是你需要的. //就像让你非常渴望的狗嗅一块布,告诉它,“带给我一切闻起来像这样,无论你找到什么”.你不会相信可以决定带回来的奇怪的废话.

原文地址:https://www.jb51.cc/xml/292955.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。