标签: xpath

如何在这里使用XPath contains()?

我正在尝试学习xpath.我查看了这里的其他contains()示例,但没有使用AND运算符.我不能让这个工作:

//ul[@class='featureList' and contains(li, 'Model')]
Run Code Online (Sandbox Code Playgroud)

上:

...
<ul class="featureList">

<li><b>Type:</b> Clip Fan</li><li><b>Feature:</b> Air Moved: 65 ft.
    Amps: 1.1
    Clip: Grips any surface up to 1.63"
    Plug: 3 prong grounded plug on heavy duty model
    Usage: Garage, Workshop, Dorm, Work-out room, Deck, Office & more.</li><li><b>Speed Setting:</b> 2 speeds</li><li><b>Color:</b> Black</li><li><b>Power Consumption:</b> 62 W</li><li><b>Height:</b> 14.5"</li><li><b>Width:</b> Grill Diameter: 9.5"</li><li><b>Length:</b> 11.5"</li>

<li><b>Model #: </b>CR1-0081-06</li>
<li><b>Item #: </b>N82E16896817007</li>
<li><b>Return Policy: </b></li>
</ul>
...
Run Code Online (Sandbox Code Playgroud)

xml xpath

137
推荐指数
3
解决办法
45万
查看次数

获取XML中的属性值

如何使用xslt在以下xml中获取attribute1(blah)的值:

<name attribute1="blah" attribute2="blahblah">
</name>
Run Code Online (Sandbox Code Playgroud)

xml xslt xpath attributes

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

不同节点的XPath OR运算符

我该怎么做XPath:

//bookstore/book/title or //bookstore/city/zipcode/title
Run Code Online (Sandbox Code Playgroud)

只是//title不行,因为我也有//bookstore/magazine/title

ps我看了很多或者例子,但主要是属性或单节点结构.

xpath

131
推荐指数
3
解决办法
15万
查看次数

XPath:从子节点获取父节点

我需要获取子节点"标题50"的父节点

目前我只使用

//*[title="50"]
Run Code Online (Sandbox Code Playgroud)

我怎么能得到它的父母?结果应该是store节点.


<?xml version="1.0" encoding="utf-8"?>
<d:data xmlns:d="defiant-namespace" d:mi="23">
    <store d:mi="22">
        <book price="12.99" d:price="Number" d:mi="4">
            <title d:constr="String" d:mi="1">Sword of Honour</title>
            <category d:constr="String" d:mi="2">fiction</category>
            <author d:constr="String" d:mi="3">Evelyn Waugh</author>
        </book>
        <book price="8.99" d:price="Number" d:mi="9">
            <title d:constr="String" d:mi="5">Moby Dick</title>
            <category d:constr="String" d:mi="6">fiction</category>
            <author d:constr="String" d:mi="7">Herman Melville</author>
            <isbn d:constr="String" d:mi="8">0-553-21311-3</isbn>
        </book>
        <book price="8.95" d:price="Number" d:mi="13">
            <title d:constr="String" d:mi="10">50</title>
            <category d:constr="String" d:mi="11">reference</category>
            <author d:constr="String" d:mi="12">Nigel Rees</author>
        </book>
        <book price="22.99" d:price="Number" d:mi="18">
            <title d:constr="String" d:mi="14">The Lord of the Rings</title>
            <category d:constr="String" d:mi="15">fiction</category>
            <author …
Run Code Online (Sandbox Code Playgroud)

xml xpath

129
推荐指数
4
解决办法
26万
查看次数

如何在Bash中解析XML?

理想情况下,我希望能够做到的是:

cat xhtmlfile.xhtml |
getElementViaXPath --path='/html/head/title' |
sed -e 's%(^<title>|</title>$)%%g' > titleOfXHTMLPage.txt
Run Code Online (Sandbox Code Playgroud)

xml bash shell xhtml xpath

128
推荐指数
9
解决办法
25万
查看次数

XSLT获取最后一个元素

我试图找到我的xml中的最后一个元素,看起来像

    <list>
        <element name="A" />
        <element name="B" >
            <element name="C" />
            <element name="D" >
                <element name="D" />
                <element name="E" />
                <element name="F" />
                <element name="G" />
            </element>
        <element name="H" />
        <element name="I" />
    </list>
Run Code Online (Sandbox Code Playgroud)

我需要获得某种反向菜单,其中当前元素和父元素被突出显示为"活动",而兄弟节点则显示为"非活动".相反,结果我只有当我想点击"D"元素时才有一个凌乱的树.

双D元素是我的问题.当我使用 select="//element[@name='D'][last()]"select="//element[@name='D' and last()]"(顺便哪一个是正确的?)第一次出现 D元素时(调试器显示).这是xsl

<xsl:template match="list">
    <xsl:apply-templates select="//navelement[@name = 'D'][last()]" mode="active"/>
</xsl:template>

<xsl:template match="element">
    <ul class="menu">
    <xsl:apply-templates select="preceding-sibling::node()" mode="inactive"/>
        <li><a>....</a></li>
    <xsl:apply-templates select="following-sibling::node()" mode="inactive"/>
    </ul>   
    <xsl:apply-templates select="parent::element" mode="active"/>
</xsl:template>

<xsl:template match="element" mode="inactive">
        <li><a>....</a></li>
</xsl:template>
Run Code Online (Sandbox Code Playgroud)

xslt xpath menu

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

如何编写XPath查询以匹配两个属性?

以下问题:

<div id="id-74385" class="guest clearfix" style="z-index: 999;">
Run Code Online (Sandbox Code Playgroud)

如上所述,

如果我想要一个带有id和class检查的XPath表达式,我们可以用'和'条件LIKE来做它:

//div[@id='id-74385'] and div[@class='guest clearfix']
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我的执行在这里失败了......请帮忙!

xpath

123
推荐指数
3
解决办法
13万
查看次数

用于获取元素的第n个实例的XPath查询

有一个HTML文件(我不控制其内容)有几个input元素都具有相同的固定id属性"search_query".文件的内容可以更改,但我知道我总是希望获得input带有id属性的第二个元素"search_query".

我需要一个XPath表达式来执行此操作.我尝试//input[@id="search_query"][2]但是这不起作用.以下是此查询失败的示例XML字符串:

<div>
  <form>
    <input id="search_query" />
   </form>
</div>

<div>
  <form>
    <input id="search_query" />
  </form>
</div>

<div>
  <form>
    <input id="search_query" />
  </form>
</div>
Run Code Online (Sandbox Code Playgroud)

请记住,上面只是一个示例,其他HTML代码可能完全不同,input元素可以出现在任何地方,没有一致的文档结构(除了我保证总会有至少两个inputid属性为"search_query").

什么是正确的XPath表达式?

xml xpath

123
推荐指数
2
解决办法
12万
查看次数

XPath选择多个标签

鉴于这种简化的数据格式:

<a>
    <b>
        <c>C1</c>
        <d>D1</d>
        <e>E1</e>
        <f>don't select this one</f>
    </b>
    <b>
        <c>C2</c>
        <d>D2</d>
        <e>E1</e>
        <g>don't select me</g>
    </b>
    <c>not this one</c>
    <d>nor this one</d>
    <e>definitely not this one</e>
</a>
Run Code Online (Sandbox Code Playgroud)

你会如何选择所有元素的Cs,Ds和Es B

基本上,像:

a/b/(c|d|e)
Run Code Online (Sandbox Code Playgroud)

在我自己的情况,而不是只a/b/,查询导致到选择那些C,D,E节点其实是相当复杂的,所以我想避免这样做:

a/b/c|a/b/d|a/b/e
Run Code Online (Sandbox Code Playgroud)

这可能吗?

xml xpath

119
推荐指数
3
解决办法
12万
查看次数

如何使用XSLT将字符串转换为大写或小写?

你如何在XSL中进行大小写转换?

<xsl:variable name="upper">UPPER CASE</xsl:variable>
<xsl:variable name="lower" select="???"/>
Run Code Online (Sandbox Code Playgroud)

string xslt xpath case-conversion

116
推荐指数
3
解决办法
16万
查看次数

标签 统计

xpath ×10

xml ×6

xslt ×3

attributes ×1

bash ×1

case-conversion ×1

menu ×1

shell ×1

string ×1

xhtml ×1