标签: xpath

Postgresql - 在选择中使用 xpath 时如何将 xml 数据类型更改为整数

我尝试从一个 xml 字段中选择值并将选定的值插入到另一个整数类型的表字段中。

询问:

INSERT INTO "Match" 
select 
unnest(xpath('./game/id/text()', "File"))
FROM "Files"
Run Code Online (Sandbox Code Playgroud)

Select 工作正常,但是当我尝试插入时,会发生错误:

SQL error:
ERROR:  column "id" is of type integer but expression is of type xml
LINE 3: unnest(xpath('./game/id/text()', "File")),

HINT:  You will need to rewrite or cast the expression.
Run Code Online (Sandbox Code Playgroud)

当我尝试使用强制转换更改 xml 类型时,出现另一个错误:

SQL error:
ERROR:  cannot cast type xml to integer
LINE 3: cast(unnest(xpath('./game/id/text()', "File"))as integer)
Run Code Online (Sandbox Code Playgroud)

当我尝试使用 XMLSERIALIZE 更改类型时,会发生另一个错误:

SQL error:
ERROR:  argument of XMLSERIALIZE must not return a set
LINE 3: XMLSERIALIZE(CONTENT unnest(xpath('./game/id/text()', "File"...
Run Code Online (Sandbox Code Playgroud)

如何将选定的值插入另一个表?

xml postgresql xpath

1
推荐指数
1
解决办法
3616
查看次数

如何检查页面 xpath/php 上是否存在具有特定类的 div

我正在尝试解析页面并检查某个容器是否存在。

$info = $xpath->query('//div[contains(@class,"user-info")]')->item(0)->nodeValue;
Run Code Online (Sandbox Code Playgroud)

我正在尝试这个,但无论元素是否存在,它都不返回任何内容(因为容器假设为空)。我怎样才能得到简单的真/假?

php xpath

1
推荐指数
1
解决办法
1905
查看次数

如何使用xpath获取onclick的价值?

我有这段Html:

<tr class="selectable" onclick="PesquisarProntuarioView.EditarProntuario('108077098085')">
Run Code Online (Sandbox Code Playgroud)

我想获得 onclick 中的内容,我正在寻找一个可以给我的命令:

"PesquisarProntuarioView.EditarProntuario('01048108077098085')"
Run Code Online (Sandbox Code Playgroud)

我已经尝试过几个这样的命令:

element=driver.find_element_by_xpath("//a/tr/@onlick=PesquisarProntuarioView.EditarProntuario(*)")

driver.get(element)
Run Code Online (Sandbox Code Playgroud)

但是仍然没有线索,有人可以帮助我使用 Selenium/Python 中的相应命令吗?

python selenium xpath

1
推荐指数
1
解决办法
3802
查看次数

使用 java 使用 selenium webdriver 从 Gmail 收件箱打开邮件

我需要使用 Eclipse IDE 中的 java 使用 selenium webdriver 从 Gmail 收件箱打开邮件。有没有办法使用 xpath 做到这一点?

java selenium xpath incoming-mail selenium-webdriver

1
推荐指数
2
解决办法
4万
查看次数

避免使用 Saxon XPath 和 XHTML 使用名称空间前缀

使用 Saxon HE 9.6 作为 JAXP 实现

有一个带有 XHTML 命名空间的 HTML 文档

//*:title返回预期值,但//title不返回

我真的很想只使用//title. 如何才能做到这一点?

或者,我可以从已经构建的文档中删除命名空间吗?

xhtml xpath namespaces saxon jaxp

1
推荐指数
1
解决办法
360
查看次数

使用 lxml/XPath 获取第 n 个元素失败

这可能是一件非常简单的事情,但我一直在失败。

root包含一个或多个 "<link />" 时,root.xpath('(//link)') 将全部返回。但是 root.xpath('(//link)[0]') 返回一个空列表。怎么了?

from unittest import TestCase, TestProgram

class T(TestCase):
    base_path = r'(//_:link)'
    def test0ok(self):
        self._test(2, self.base_path)
    def test1ng(self):
        self._test(1, self.base_path + r'[0]')
    def _test(self, expected, path):
        try:
            from lxml.etree import fromstring as parse_xml_string
        except ImportError:
            raise
        root = parse_xml_string(_xhtml)
        nsmap = dict(_=root.nsmap[None])
        gotten = root.xpath(path, namespaces=nsmap)
        gotten = len(gotten)
        self.assertEqual(expected, gotten)

_xhtml = br'''
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.1//EN"
    "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head>
<link rev="made" href="./" …
Run Code Online (Sandbox Code Playgroud)

python xpath lxml

1
推荐指数
1
解决办法
836
查看次数

如何通过XPath选择相邻元素?

有下拉列表,其中包含以下代码.如何为这个元素编写XPath?

<div class="dropdown ">
    <button class="btn btn-default dropdown-toggle btn-block" type="button">
        <!-- react-text: 346 -->
        Select door
        <!-- /react-text -->
        <span class="glyphicon glyphicon-chevron-down"/>
     </button>
  <div class="dropdown-menu">
</div>
Run Code Online (Sandbox Code Playgroud)

html xml xpath selenium-webdriver

1
推荐指数
1
解决办法
1795
查看次数

XPath 运算符:某些子元素包含子字符串

我有一个这样的 XML 文件:

<?xml version="1.0" encoding="UTF-8"?>
<root> 
  <channel> 
    <item> 
      <title>India Wins</title>  
      <cat>Cricket News</cat>  
      <cat>India</cat> 
    </item>  
    <item> 
      <title>Barcelona Wins</title>  
      <cat>Barcelona</cat>  
      <cat>Celta Vigo</cat>  
      <cat>Football</cat> 
    </item>  
    <item> 
      <title>England lost</title>  
      <cat>Cricket</cat>  
      <cat>T20</cat>  
      <cat>England</cat> 
    </item> 
  </channel> 
</root>
Run Code Online (Sandbox Code Playgroud)

我想获得 Cricket News 的所有标题。就像我的输出应该是:India WinsEngland lost

所以我像这样运行 Xpath 查询//*[cat="Cricket"]/title 它给出了结果:England lost,这对我来说是可以理解的。

但我想做到像类似的事情//*[contains(cat,"Cricket")]/title,所以该类别的两个冠军CricketCricket News会来。但它没有输出。

此外,我在许多在线 Xpath 测试人员中运行了 Xpath 查询,他们给出了这样的错误消息

错误 - 不允许将包含多个项目的序列作为 contains() 的第一个参数

谁能告诉我如何解决这个问题?

xml xpath

1
推荐指数
1
解决办法
407
查看次数

如何从xml文件中删除重复的元素?

我有一个XML文件

<ns0:Employees xmlns:ns0="http://TestIndexMap.Employees">
  <Employee FirstName="FirstName_0" LastName="LastName_1" dept="dept_2" empNumber="1">
    <Schedules>
      <Schedule Date_join="2008-01-20" Date_end="2008-01-30" />
    </Schedules>
  </Employee>
  <Employee FirstName="FirstName_0" LastName="LastName_1" dept="dept_2" empNumber="2">
    <Schedules>
      <Schedule Date_join="2008-01-20" Date_end="2008-01-30" />
    </Schedules>
  </Employee>
  <Employee FirstName="FirstName_2" LastName="LastName_1" dept="dept_2" empNumber="2">
    <Schedules>
      <Schedule Date_join="2007-01-21" Date_end="2007-12-30" />

    </Schedules>
  </Employee>
  <Employee FirstName="FirstName_2" LastName="LastName_1" dept="dept_2" empNumber="2">
    <Schedules>
      <Schedule Date_join="2007-01-21" Date_end="2007-12-30" />
      <Schedule Date_join="2008-06-20" Date_end="2008-01-30" />

    </Schedules>
  </Employee>
</ns0:Employees>
Run Code Online (Sandbox Code Playgroud)

我想根据fistname,姓氏和date_join以及data_end删除重复项.

请问,有人可以解释如何使用XSLT实现这一目标吗?

xml xslt xpath

0
推荐指数
1
解决办法
1万
查看次数

XPath以查找嵌套值

我有一些XML,我在使用XPath处理时遇到问题.我似乎无法获得我正在寻找的价值观.XML的结构如下:

<Group>
   <Menu>
      <Name>Top Menu</Name>
      <Document>
         <DocName>Readme.txt</DocName>
      </Document>
      <Menu>
         <Name>Sub Menu</Name>
         <Document>
            <DocName>Manual.pdf</DocName>
         </Document>
         <Document>
            <DocName>UserGuide.pdf</DocName>
         </Document>
      </Menu>
   </Menu>
</Group>
Run Code Online (Sandbox Code Playgroud)

给定菜单名称,我想在菜单中找回DocumentNodes列表.例如,给定"子菜单",我想取回Manual.pdf和UserGuide.pdf的两个Document节点.

目前,我正在使用遍历孩子的代码来提取这些信息,但是,我宁愿直接使用XPath来提取它,但我的技能很弱.

(在你问之前,我无法重构XML.这是以这种方式提供给我的.)

有什么想法吗?

xml xpath

0
推荐指数
1
解决办法
395
查看次数