使用xmlstarlet从web.xml中选择xml元素

时间:2013-07-18 06:45:54

标签: xml web.xml xmlstarlet

我正在使用xmlstarlet从web.xml中选择值。它没有工作,什么也没有返回。 如果我的web.xml包含以下属性:

<web-app version="2.4"
   xmlns="java.sun.com/xml/ns/j2ee"
   xmlns:xsi="w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="java.sun.com/xml/ns/j2ee java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

命令我正在执行

xml select -t -v "web-app/display-name" web.xml 

我如何忽略上述内容?

2 个答案:

答案 0 :(得分:2)

如果您的版本为1.5.0,则默认命名空间(在本例中为java.sun.com/xml/ns/j2ee)会自动赋予前缀_,因此不需要-N

xml sel -t -v "_:web-app/_:security-role" /root/WEB-INF/web.xml

答案 1 :(得分:0)

我使用了以下内容并成功

xml sel -N x="http://java.sun.com/xml/ns/j2ee" -t  -v "x:web-app/x:security-role" /root/WEB-INF/web.xml