xpath 条件不适用于 xmllint
xpath conditionals not working with xmllint
我正在尝试使用条件筛选以下 XML 使用 xpath 的一些节点。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE html>
<html>
<body>
<div class="video_wrapper">
<div class="stretchy-wrapper">
<video width="1280px" height="720px">
<source src="video-480p.mp4" type="video/mp4" label="480P" res="480"/>
<source src="video-720p.mp4" type="video/mp4" label="720P" res="720"/>
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>
</video>
</div>
</div>
</body>
</html>
这个 XPath 有效:
xmllint --xpath "//source" ./scratch.xml
<source src="video-480p.mp4" type="video/mp4" label="480P" res="480"/>
<source src="video-720p.mp4" type="video/mp4" label="720P" res="720"/>
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>
然而这不是:
xmllint --xpath "//source[@res='1000']" ./scratch.xml
XPath set is empty
我的语法有问题吗?
P.S。我系统上的 libxml 版本是 20904
//source[@res='1000']
不选择任何内容,因为您的文档没有这样的 source
元素。
也许你的意思是
//source[@res='1080']
^
选择
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>
我正在尝试使用条件筛选以下 XML 使用 xpath 的一些节点。
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!DOCTYPE html>
<html>
<body>
<div class="video_wrapper">
<div class="stretchy-wrapper">
<video width="1280px" height="720px">
<source src="video-480p.mp4" type="video/mp4" label="480P" res="480"/>
<source src="video-720p.mp4" type="video/mp4" label="720P" res="720"/>
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>
</video>
</div>
</div>
</body>
</html>
这个 XPath 有效:
xmllint --xpath "//source" ./scratch.xml
<source src="video-480p.mp4" type="video/mp4" label="480P" res="480"/>
<source src="video-720p.mp4" type="video/mp4" label="720P" res="720"/>
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>
然而这不是:
xmllint --xpath "//source[@res='1000']" ./scratch.xml
XPath set is empty
我的语法有问题吗?
P.S。我系统上的 libxml 版本是 20904
//source[@res='1000']
不选择任何内容,因为您的文档没有这样的 source
元素。
也许你的意思是
//source[@res='1080']
^
选择
<source src="video.mp4" type="video/mp4" label="1080P" res="1080"/>