Tag: xpath

Excel 2013 FILTERXML()返回错误的值?

当我使用Excel 2013的新webservice()和filterxml() ,似乎我得到了不同的结果,如果我只是在Web浏览器中打开xml。 具体来说,我试图使用Excel从能源部门访问API。 公共访问密钥的地址是: http://api.eia.gov/series/?api_key=449E5B5A53EBB9601A80681EBFFBB91E&series_id=PET.MTTUA_NUS_1.M&num=150&out=xml 当我使用Web浏览器访问上述地址时,Dec-13的值显示为9931: … <row> <date>201312</date> <value>9931</value> … 我知道这是正确的价值。 然而,当我尝试通过新的excel公式访问这个时,我得到一个奇怪的结果…大多数月份是正确的,但有些是错误的…例如,12月13日,返回值为2,933,263。 不知道为什么 – 我不知道这个数字来自哪里。 我用上面的地址使用了WEBSERVICE() ,然后尝试使用FILTERXML()生成两个并排数组,一个date和另一个值: 对于date,其中K1是WEBSERVICE()的位置,并将公式确认为数组: =FILTERXML(K$1,"//date") 并返回值: =FILTERXML(K$1,"/eia_api/series/row/data/row/value") 我也尝试了很多其他的组合,但是我对XPATH超级新,显然错过了一些东西。 有人可以帮我用FILTERXML()函数完美地复制Excel中的正确数据,当我通过Web浏览器访问XML时,可以看到这些数据吗? 谢谢!

将Excel的SUM()添加到XLST结果页面?

如何将SUM()函数应用于每个hours节点? 我将保存这个transfomred XML为Excel,我希望它有embeddedSUM()函数。 经过研究,似乎有这么多的方法来做,但没有真正适用于我的问题。 XSL: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <img src="../images/company_logo.png"></img> <p>Company: <xsl:value-of select="companies/company[1]/companyName"/></p> <p>Date: <xsl:value-of select="companies/company[1]/startDate"/> to <xsl:value-of select="companies/row[last()]/endDate"/></p> <table> <xsl:for-each select="company/row"> <tr> <td>ID:</td> <td><xsl:value-of select="serviceID"/></td> <td>Hours:</td> <td><xsl:value-of select="hours"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> XML <company> <companyName>Cool Beans</companyName> <serviceID>1</serviceID> <startDate>01-01-2014 00:00:00</startDate> <endDate>01-02-2014 00:00:00</endDate> <hours>2</hours> </company>

断言部分文本

我正在使用testNG / eclipse的java webdriver 我正在使用Excel来导入脚本中的数据。 我有一个元素在网页上有xpath By.xpath("//h2[contains(.,'Projects›main›tests›Plan visit')] 第二个和第三个文本,即main和tests变化为不同的用户,所以在Excel中我只提到了一列,让我们说'value1',其中包含'计划访问'作为它的价值,所以它会断言所有用户。 我需要先在一些variables中获得这个xpath的文本,让我们说'value2',然后'value1'和'value2'断言。 这里的问题是我无法获得只有“计划访问”的定位器。 所以我希望我的脚本声明部分文本。 这可能吗?

xpath-> query()仅适用于星号

以下是我目前正在使用的代码。 input的XML文件可以在这里find: http : //pastebin.com/hcQhPSjs header("Content-Type: text/plain"); $xmlFile = new domdocument(); $xmlFile->preserveWhiteSpace = false; $xmlFile->load("file:///srv/http/nginx/html/xml/UNSD_Quest_Sample.xml"); $xpath = new domxpath($xmlFile); $hier = '//Workbook'; $result = $xpath->query($hier); foreach ($result as $element) { print $element->nodeValue; print "\n"; }; 现在对于$hiervariables,除非我使用通配符*来到达我需要的节点,否则PHP将不会parsing结果。 所以,而不是使用通常的/Workbook/Worksheet/Table/Row/Cell/Data访问节点的方法,我降级到/*/*[6]/*[2]/*input文件是一个Excel电子表格出口到XML。 似乎这个问题可能在从xls到xml的导出中。 我发现奇怪的是Firefox(默认浏览器)在Chromium和/或任何文本编辑器中不parsing根元素<Workbook>的命名空间属性。 火狐: <?mso-application progid="Excel.Sheet"?> <Workbook> <DocumentProperties> <Author>Htike Htike Kyaw Soe</Author> <Created>2014-01-14T20:37:41Z</Created> <LastSaved>2014-12-04T10:05:11Z</LastSaved> <Version>14.00</Version> </DocumentProperties> <OfficeDocumentSettings> <AllowPNG/> </OfficeDocumentSettings> […]

无法在Excel文件中正确写入提取的项目?

我已经写了一些代码在pythonparsing标题和链接从一个网页。 最初,我试图parsing左侧栏中的链接,然后通过追踪每个链接来抓取每个页面上的上述文档。 我完美无瑕地做到了这一点。 我试图将不同页面的文档保存在一个excel文件中。 但是,它创build了几个“表格”,从我的脚本的标题variables中提取所需的部分作为表格名称。 我面临的问题是,当数据被保存时,只有链接中每个页面的最后一个logging保存在我的Excel表格中,而不是完整的logging。 这是我尝试的脚本: import requests from lxml import html from pyexcel_ods3 import save_data web_link = "http://www.wiseowl.co.uk/videos/" main_url = "http://www.wiseowl.co.uk" def get_links(page): response = requests.Session().get(page) tree = html.fromstring(response.text) data = {} titles = tree.xpath("//ul[@class='woMenuList']//li[@class='woMenuItem']/a/@href") for title in titles: if "author" not in title and "year" not in title: get_docs(data, main_url + title) […]