2013-07-18 26 views
0

我使用xmlstarlet从web.xml中选择值。它不工作并且什么也不返回。 如果我的web.xml中包含以下属性:使用xmlstarlet从web.xml中选择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 

我怎么能无视以上?

回答

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 
0

如果你有1.5.0版本,默认命名空间(java.sun.com/xml/ns/j2ee在这种情况下)被自动添加前缀_,所以-N不需要:

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