当前位置: 首页 > 知识库问答 >
问题:

解密XPATH[重复]

辛可人
2023-03-14

我有这个XML

<rpc-reply xmlns:junos="http://xml.juniper.net/junos/12.1X46/junos">
    <environment-information xmlns="http://xml.juniper.net/junos/12.1X46/junos-chassis">
        <environment-item>
            <name>Routing Engine</name>
            <class>Temp</class>
            <status>Failed</status>
            <temperature junos:celsius="50">50 degrees C / 122 degrees F</temperature>
        </environment-item>
        <environment-item>
            <name>Routing Engine CPU</name>
            <status>Absent</status>
        </environment-item>
        <environment-item>
            <name>Power Supply 0</name>
            <class>Power</class>
            <status>OK</status>
        </environment-item>
        <environment-item>
            <name>Power Supply 1</name>
            <class>Power</class>
            <status>Absent</status>
        </environment-item>
    </environment-information>
    <cli>
        <banner></banner>
    </cli>
</rpc-reply>

我想显示所有没有status=“缺席”的“环境项”。

我尝试了很多网站来测试XPATH,但都没有找到答案。我认为它应该是/rpc reply/environment information/*[not(contains(status,'缺席'))],或者/rpc reply/environment information[1]/*[not(contains(status,'缺席'))],但它不起作用。

两个问题:

  1. 我的XPATH怎么了

感谢你的解释。如果我必须选择的话,我宁愿要一根鱼竿也不要一条鱼

代我问候,帕特里克

共有3个答案

柯鸿云
2023-03-14

我认为这可能行得通:

//*[name()="environment-item" and not(contains(./*[name()="status"], "Absent"))]
鲁杜吟
2023-03-14
  1. 直接查找status元素//status/not(text(),“缺席”),并返回包含parent::environment信息的父元素
景星光
2023-03-14

首先,您尝试的XPath测试站点可能工作得非常好。

你的表达式不起作用的原因是:

这意味着<代码>

有两种方法可以解决这个问题:
1。您可以在运行xpath表达式的任何引擎中声明命名空间绑定。没有标准的方法可以做到这一点,解决方案将因引擎的实现而异。请注意,因为

 类似资料:
  • 我尝试像这样解析xml: 我尝试解析这个xml: 但是我的jobNode总是空的。如果我把我的xml改成这样,它就可以工作了:

  • 我正在使用HMACSHA512对用户登录密码进行加密(散列),使用(PasswordToHash(_salt,passwordText,iterations)),并存储在数据库中。我想知道如何解密密码。

  • 我正在寻找最简单和安全的方法,用PHP7中的特定salt加密/解密字符串 我看到了这个帖子,但mcrypt_encrypt似乎被弃用了。你还有其他建议或例子吗?谢谢你

  • 问题内容: 我想使用API使用XPATH在父节点内定位一个节点。我以为这会让我回到父母那边。但是,它将返回我在整个DOM树中找到的第一个。我使用了错误的XPATH吗? 我也曾尝试使用XPATH,但这确实会返回任何东西。 谢谢。 更新: 给定下面的HTML,我想为子标题和子日期定义一个定位器,并使用WebElement.findElement()API对其进行定位,而不管父级是“ // a / li

  • 问题内容: 我正在尝试使用PHP mcrypt函数解密由Java Triple DES函数加密的密钥,但是没有运气。在下面找到Java代码 我想编写一个与上面的cryptoText Java函数等效的PHP函数。在生成由Java代码生成的用于加密的精确IV值时遇到困难,这是解密所必需的。 问题答案: 这等效于Java代码的PHP(我从The reference的注释中复制了PKCS#5-paddi

  • 问题内容: 在.Net中,我发现了一个很棒的库HtmlAgilityPack,它使您可以使用XPath轻松解析格式不正确的HTML。我已经在.Net站点中使用了几年,但是我不得不为我的Python,Ruby和其他项目选择更痛苦的库。有人知道其他语言的类似库吗? 问题答案: 在python中,ElementTidy解析标记汤并生成一个元素树,该树允许使用XPath进行查询: