Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
选择其同级包含属性XML的元素_Xml_Xpath - Fatal编程技术网

选择其同级包含属性XML的元素

选择其同级包含属性XML的元素,xml,xpath,Xml,Xpath,我试图选择属性值大于1的标题值: path="//book/price[@value >1] 我不确定如何只选择元素price的属性值大于1的标题。我是一名XML初学者,正在做一些教程中的练习 我的优先事项是 学习XML 超级XML XML: 哈利·波特 49.99 学习XML 29.95 超级xml 39.95 更新 第一个查询非常完美,您能告诉我如何从嵌套元素获取它吗 <bookstore> <book> <title lang="en">

我试图选择属性值大于1的标题值:

path="//book/price[@value >1]
我不确定如何只选择元素price的属性值大于1的标题。我是一名XML初学者,正在做一些教程中的练习

我的优先事项是

  • 学习XML
  • 超级XML
  • XML:

    
    哈利·波特
    49.99
    学习XML
    29.95
    超级xml
    39.95
    
    更新

    第一个查询非常完美,您能告诉我如何从嵌套元素获取它吗

    <bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <possibleprice>
         <price value="1">49.99</price>
      </possibleprice>
    </book>
    <book>
      <title lang="en">Learning XML</title>
      <possibleprice>
         <price value="2">29.95</price>
      </possibleprice>
    </book>
    <book>
      <title lang="en">super xml</title>
      <possibleprice>
        <price value="3">39.95</price>
      </possibleprice>
    </book>
    </bookstore>
    
    
    哈利·波特
    49.99
    学习XML
    29.95
    超级xml
    39.95
    
    例如:

    对于OP的第一个版本:

    输入:

    <bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <price value="1">49.99</price>
    </book>
    <book>
     <title lang="en">Learning XML</title>
     <price value="2">29.95</price>
    </book>
    <book>
      <title lang="en">super xml</title>
      <price value="3">39.95</price>
    </book>
    </bookstore>
    
    结果:

    <title lang="en">Learning XML</title>
    <title lang="en">super xml</title>
    
    结果同上

    若要回答注释中的问题,是否需要在第二个版本中使用两次前置同级:否。
    前置同级
    针对当前节点的
    前置同级
    。本例中的当前节点是price,没有同级节点,但是父节点是possibleprice。要以与上述不同的方式获得相同的结果,可以获得price的
    父项
    ,然后是possibleprice的
    前兄弟项

    结果也是一样的

    如前所述,OP是XML初学者,以下内容可能有助于说明XPath轴:

    例如:

    对于OP的第一个版本:

    输入:

    <bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <price value="1">49.99</price>
    </book>
    <book>
     <title lang="en">Learning XML</title>
     <price value="2">29.95</price>
    </book>
    <book>
      <title lang="en">super xml</title>
      <price value="3">39.95</price>
    </book>
    </bookstore>
    
    结果:

    <title lang="en">Learning XML</title>
    <title lang="en">super xml</title>
    
    结果同上

    若要回答注释中的问题,是否需要在第二个版本中使用两次前置同级:否。
    前置同级
    针对当前节点的
    前置同级
    。本例中的当前节点是price,没有同级节点,但是父节点是possibleprice。要以与上述不同的方式获得相同的结果,可以获得price的
    父项
    ,然后是possibleprice的
    前兄弟项

    结果也是一样的

    如前所述,OP是XML初学者,以下内容可能有助于说明XPath轴:

    例如:

    对于OP的第一个版本:

    输入:

    <bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <price value="1">49.99</price>
    </book>
    <book>
     <title lang="en">Learning XML</title>
     <price value="2">29.95</price>
    </book>
    <book>
      <title lang="en">super xml</title>
      <price value="3">39.95</price>
    </book>
    </bookstore>
    
    结果:

    <title lang="en">Learning XML</title>
    <title lang="en">super xml</title>
    
    结果同上

    若要回答注释中的问题,是否需要在第二个版本中使用两次前置同级:否。
    前置同级
    针对当前节点的
    前置同级
    。本例中的当前节点是price,没有同级节点,但是父节点是possibleprice。要以与上述不同的方式获得相同的结果,可以获得price的
    父项
    ,然后是possibleprice的
    前兄弟项

    结果也是一样的

    如前所述,OP是XML初学者,以下内容可能有助于说明XPath轴:

    例如:

    对于OP的第一个版本:

    输入:

    <bookstore>
    <book>
      <title lang="en">Harry Potter</title>
      <price value="1">49.99</price>
    </book>
    <book>
     <title lang="en">Learning XML</title>
     <price value="2">29.95</price>
    </book>
    <book>
      <title lang="en">super xml</title>
      <price value="3">39.95</price>
    </book>
    </bookstore>
    
    结果:

    <title lang="en">Learning XML</title>
    <title lang="en">super xml</title>
    
    结果同上

    若要回答注释中的问题,是否需要在第二个版本中使用两次前置同级:否。
    前置同级
    针对当前节点的
    前置同级
    。本例中的当前节点是price,没有同级节点,但是父节点是possibleprice。要以与上述不同的方式获得相同的结果,可以获得price的
    父项
    ,然后是possibleprice的
    前兄弟项

    结果也是一样的



    如前所述,OP是XML的初学者,以下内容可能有助于说明XPath轴:

    假设该属性嵌套在另一个元素中。我需要使用前面的兄弟姐妹两次吗?我将更新问题以澄清,非常感谢,并感谢您提供的资源!很好地工作,假设属性嵌套在另一个元素中。我需要使用前面的兄弟姐妹两次吗?我将更新问题以澄清,非常感谢,并感谢您提供的资源!很好地工作,假设属性嵌套在另一个元素中。我需要使用前面的兄弟姐妹两次吗?我将更新问题以澄清,非常感谢,并感谢您提供的资源!很好地工作,假设属性嵌套在另一个元素中。我需要使用前面的兄弟姐妹两次吗?我将更新问题以澄清,非常感谢,并感谢您提供的资源!工作完美你的编辑实质性地改变了问题,这对马蒂亚斯·吴有点不公平,他正确地回答了原来的问题。(它还将非良好格式的XML引入到混合中,在能够与XPath一起使用之前必须对其进行修复。)您应该恢复编辑,接受matthias_h的答案,并提出一个新问题。谢谢。我知道我会的,我不知道我做不到apologies@kjhughes谢谢,我已经在答案中添加了OP的第一个版本,所以它是有效的。阿卡姆雷耶克:我不介意更新OP,但在更新时,你可以做如下操作:保留OP,在原始的下面,在进一步的问题上写上“更新”或其他东西,这样就不会太烦人/需要阅读所有答案和评论才能理解。我将更新我的答案以涵盖第二个问题。但kjhughes提出新问题的建议是正确的。如果其他人会回答第二个问题,这将有点不公平,因为你不可能同时接受这两个问题。我添加了更新,很抱歉,我仍然在学习如何工作。我已经更新了问题,你介意帮我吗?还是我应该发布另一个问题,因为我已经给了你最好的答案?我不介意,更新了我的答案,别担心。没有必要为此发布其他问题。请编辑您的