我试图使用这样的XQuery搜索BaseX:
XQUERY doc("ann-20140201.xml")//xbrl
Run Code Online (Sandbox Code Playgroud)
我正在提交原始实例的一小段摘录:
<?xml version="1.0" encoding="US-ASCII"?>
<xbrli:xbrl xmlns:ann="http://www.anninc.com/20140201" xmlns:dei="http://xbrl.sec.gov/dei/2013-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:us-gaap="http://fasb.org/us-gaap/2013-01-31" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<link:schemaRef xlink:href="ann-20140201.xsd" xlink:type="simple" />
<xbrli:context id="FD2011Q4YTD">
<xbrli:entity>
<xbrli:identifier scheme="http://www.sec.gov/CIK">0000874214</xbrli:identifier>
</xbrli:entity>
<xbrli:period>
<xbrli:startDate>2011-01-30</xbrli:startDate>
<xbrli:endDate>2012-01-28</xbrli:endDate>
</xbrli:period>
</xbrli:context>
<xbrli:context id="FD2011Q4YTD_ann_EarningsPerShareReconciliationAxis_ann_EarningsPerShareBasic.Member">
<xbrli:entity>
Run Code Online (Sandbox Code Playgroud)
但是,即使很明显,当我用它执行查询时,它<xbrl>是根元素,BaseX也不会返回任何内容!
当等效命令返回根时,如何才能返回任何内容?
的等效命令是:
XQUERY doc("ann-20140201.xml")//*
Run Code Online (Sandbox Code Playgroud) 我想检索我正在处理的XML文档的名称,我正在使用下面的Xpath.
<xsl:value-of select="fn:base-uri()"/>
Run Code Online (Sandbox Code Playgroud)
我得到的resule有文档的整个路径,如下所示
file:///C:/Users/home/Desktop/files/document/08192014/Raw.xml
Run Code Online (Sandbox Code Playgroud)
因此,为了获得XML文档的唯一名称,在Altova中,智能显示了一些功能substring-after-last(),我在下面使用它.
<xsl:value-of select="substring-after-last(fn:base-uri(),'/')"/>
Run Code Online (Sandbox Code Playgroud)
当我运行这个时,我得到了一些错误
Unknown function 'substring-after-last'
Warning location: xsl:stylesheet / xsl:template / html / body / section / div
/ xsl:value-of / @select
Details
XPST0017: The function call 'substring-after-last' does not match the
name of a function in the static context
Run Code Online (Sandbox Code Playgroud)
请让我知道如何解决这个问题并获取文件名,同样的错误也被抛出,substring-before-last()以及Altova中给出的一些其他功能.
我使用XSLT 2.0
在线搜索我发现有一个模板创建并调用该模板,我想知道为什么我直接无法使用给定的功能谢谢
我有一个非常简单的问题.我想找到XML分支的级别数.喜欢:
<span>
<span>
<math xmlns="http://www.w3.org/1998/Math/MathML" display="inline">
<msup>
<mn>34</mn>
<mi>o</mi>
</msup>
</math>
<span> </span>
</span>
</span>
Run Code Online (Sandbox Code Playgroud)
从第一个(根)span标记计算时,应该给出深度计数5.我正在使用XML :: Libxml.谢谢.
我需要帮助来获取xpath List<WebElement>以及如何遍历它,并从下面的代码中选择等于“ 2014 Benefits”的链接文本。
<tbody id="tblPriorEventsBody">
<tr>
<td>01/01/2014</td>
<td>
<a class="openEvent aActive" onclick='DisplayEventYearElections("dvCurrentElections","2014","Benefits For 01/01/2014 Open Enrollment ( 2014 ) ","2e82be0c-f280-4502-9d98-cf995450442c");' href="#">
2014 Benefits
</a>
<input id="hfOpenEventDefinationId" type="hidden" value="b991cf84-f197-413f-a3fb-21c5a1c0d70a"></input>
</td>
<td>N/A</td>
<td>N/A</td>
</tr>
<tr>...</tr> // Each tr contains a link
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
<tr>...</tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)
我正在尝试以下代码:
List <WebElement> options = Driver.findElements(By.xpath("//tbody[@id='tblOpenEventsBody']//tr/a"));
System.out.println(" CLASS Elements size " + options.size());
for (WebElement option : options) {
String Str = "2014 Benefits" // based on string text match I want to select …Run Code Online (Sandbox Code Playgroud) 所以我试图从下面的链接中提取a href位置,但仅提取没有跨度兄弟元素的a元素。我设法弄清楚了Xpath来找到可以做的事,但是我该如何否定呢?我试过使用count()和not(),但似乎无法使它们有效或返回任何内容。
<div class="member">
<a href="/test1" class="ahrefclass">shouldntfindme</a>
<span class="evilspan">evilspan</span>
</div>
<div class="member">
<a href="/test2" class="ahrefclass">findme</a>
</div>
<div class="member">
<a href="/test3" class="ahrefclass">shouldntfindme</a>
<span class="evilspan">evilspan</span>
</div>
<div class="member">
<a href="/test4" class="ahrefclass">findme</a>
</div>
<div class="member">
<a href="/test5" class="ahrefclass">shouldntfindme</a>
<span class="evilspan">evilspan</span>
</div>
Run Code Online (Sandbox Code Playgroud)
到目前为止,我的Xpath是
//a[@class="ahrefclass"][../span[@class="evilspan"]]
Run Code Online (Sandbox Code Playgroud) 所以我试图从Youtube拉缩略图和我得到这个表格的例子在这里:
https://www.youtube.com/results?search_query=funny
所以xpath找到每个图像的链接,这是我正在寻找的,但是当它通过python运行它说"没有图像"python由于某种原因无法看到xpath即使我可以看到它崩溃后如果我做一个测试.
try:
thumbnail = browser.find_element_by_xpath("/html/body/div[2]/div[3]/div/div[5]/div/div/div/div[1]/div/div[2]/div[2]/ol/li/ol/li[1]/div/div/div[1]/a/div/img/@src").text
except NoSuchElementException:
print "NO image"
thumbnail = 'n/a'
Run Code Online (Sandbox Code Playgroud)
有人有任何想法吗?
我到处都在寻找其他解决方案,并尝试了各种方法,但仍然无济于事...
这是XML结构...
<?xml version="1.0" encoding="UTF-8"?>
<query>
<continueToken/>
<results total="15">
<result recordId="16672888">
<columns>
<column>
<field>AmountNU</field>
<LI_Amount><![CDATA[$4,000.00]]></LI_Amount>
<LI_Amount_display><![CDATA[$4,000.00]]></LI_Amount_display>
</column>
</columns>
</result>
<result recordId="16672889">
<columns>
<column>
<field>AmountNU</field>
<LI_Amount><![CDATA[$3,000.00]]></LI_Amount>
<LI_Amount_display><![CDATA[$3,000.00]]></LI_Amount_display>
</column>
</columns>
</result>
<result recordId="16672890">
<columns>
<column>
<field>AmountNU</field>
<LI_Amount><![CDATA[$2,000.00]]></LI_Amount>
<LI_Amount_display><![CDATA[$2,000.00]]></LI_Amount_display>
</column>
</columns>
</result>
</results>
</query>
Run Code Online (Sandbox Code Playgroud)
到目前为止,这里是XSL。这只是较大脚本的一小部分,因此您将看到与当前问题相关的其他内容。
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
xmlns:datetime="http://exslt.org/dates-and-times"
xmlns:exsl="http://exslt.org/common"
exclude-result-prefixes="datetime">
<xsl:output method="text" encoding="UTF-8" indent="no"/>
<xsl:template match="/">
<xsl:call-template name="fixTheWidth" >
<!-- This parameter is a Id for each group of records based on the result/@recordId attribute. This groups all records …Run Code Online (Sandbox Code Playgroud) 我正在编写一段代码,希望我选择类的跨度amountCharged并获取该跨度的值以根据模拟值测试它.我面临的问题是我似乎无法选择span使用XPath.我尝试了多种方法仍然失败,我继续W3Schools和Stackoverflow问题,但无法确定语法.
以下是我面临的错误:
org.openqa.selenium.TimeoutException: Timed out after 60 seconds waiting for text ('£163.06') to be present in element found by `By.xpath:`
//span[contains(@class, 'amountCharged')]
Run Code Online (Sandbox Code Playgroud)
正如你可以看到我想使用//span[contains(@class,'amountCharged')]的XPATH,同样的问题用"
/descendant::span[contains(@class, 'amountCharged')]
Run Code Online (Sandbox Code Playgroud)
从父母DIV开始的HTML是:
<div class="panelMessage instructional" params=""> Total:
<span class="amountCharged">£163.06</span> quoted on
<span class="reservationTime">Tue, 29 Nov 2011 15:46 GMT</span> . </div>
</div>
<div class="panelContent hideFocus noneBlock " tabindex="-1" data- context="panelContent">
Run Code Online (Sandbox Code Playgroud)
JAVA代码是:
private static void elementShouldContain(String locator, String value, String errorMessage, long timeout) { …Run Code Online (Sandbox Code Playgroud) 我有一个仅在Chrome(而不是Firefox和IE)中打开的Web应用程序。我想使用Selenium自动化此应用程序,但是没有chrome的Selenium记录器支持。
如何在Chrome中获得与FireFox中的Selenium XPath相同的Chrome中的Xpath
我有一个XML以下面提到的格式.我在pentaho中使用Get XML来解析它.但我无法获得获得所有价值的正确途径.我想要' custom-attributes '的所有值.
它只给了我第一个属性的价值.ie仅用于'性'.任何人都可以帮我如何获取其他自定义属性的值.
我将' LoopXpath '设置为: -/names/name
在字段选项卡中按" 获取字段 "后.我自动在Fields选项卡中获取自定义属性xpath,如下所述: - 它只给出'sex'的值.
Name |Xpath |Element | ResultType |Type
----------------------------------------------------------------------------------------------
custom-attributes |custom-attributes/custom-attribute |Node |Value of |String
<names>
<name>
<firstname>ABCDEH</firstname>
<lastname>JKLAM</lastname>
<custom-attributes>
<custom-attribute attribute-id="sex">male</custom-attribute>
<custom-attribute attribute-id="height">169</custom-attribute>
<custom-attribute attribute-id="weight">78</custom-attribute>
<custom-attribute attribute-id="dateofbirth">09/09/1990</custom-attribute>
<custom-attribute attribute-id="occupation">engineer</custom-attribute>
</custom-attributes>
</name>
</names>
Run Code Online (Sandbox Code Playgroud)
最后我想要一个如下所述的单行: -
firstname lastname sex height weight dateofbirth occupation
ABCDEH JKLAM male 160 78 09/09/1990 engineer
Run Code Online (Sandbox Code Playgroud)
有谁可以帮助我