gpt4 book ai didi

xmllint:非根 xml 元素上的 xmlns?

转载 作者:数据小太阳 更新时间:2023-10-29 01:49:16 26 4
gpt4 key购买 nike

xmllint --xpath "//project" test.xml

失败了

<?xml version="1.0" encoding="UTF-8"?>

<projects>
<project xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
</project>
</projects>

但如果我像这样删除 xmlns 属性,则会成功:

<?xml version="1.0" encoding="UTF-8"?>

<projects>
<project>
<modelVersion>4.0.0</modelVersion>
</project>
</projects>

这有什么问题吗? xmlns 在非顶级标签上合法吗?

我正在使用 Java Maven:

mvn help:effective-pom

然后在非顶级元素上生成带有 xmlns 的 xml,如图所示。

最佳答案

最简单的解决方法是检查 local-name():

xmllint --xpath "//*[local-name()='project']" test.xml

或者,定义一个命名空间并使用它:

echo -e 'setns ns=http://maven.apache.org/POM/4.0.0\ncat //ns:project' | xmllint --shell test.xml

另见:

希望对您有所帮助。

关于xmllint:非根 xml 元素上的 xmlns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22599627/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com