【问题标题】:xpath query to select data in rangexpath 查询以选择范围内的数据
【发布时间】:2013-01-21 09:36:05
【问题描述】:
<?xml version="1.0"?>
<AppXmlLogWritter>
  <LogData>
    <LogID>5678201301161640382919</LogID>
    <LogDateTime>20130114164038</LogDateTime>            
  </LogData>
  <LogData>
    <LogID>5678201301161640382920</LogID>
    <LogDateTime>20130115154040</LogDateTime>           
  </LogData>
  <LogData>
  <LogID>5678201301161640382921</LogID>
  <LogDateTime>20130116164042</LogDateTime>          
  </LogData>
</AppXmlLogWritter>

strXpathQuery = @"/AppXmlLogWritter/LogData[LogDateTime/text()>=[starts-with(. , '20130115') and LogDateTime/text()<=starts-with(. , '20130116')]";

我必须编写 xpath 查询来选择 LogDateTime 以 20130115 到 20130117 开始的范围内的日志数据 我正在尝试上述查询,但无法获取数据

【问题讨论】:

    标签: c# asp.net xml xpath


    【解决方案1】:

    请试一试:

    /AppXmlLogWritter/LogData[substring(LogDateTime, 1, 8) >= 20130115 
                                  and substring(LogDateTime, 1, 8) <= 20130116]
    

    如果要在选择中包含 20130117 项,请将“20130116”值更改为“20130117”。

    【讨论】:

    • JL 上面的查询给了我零节点
    • 如果你尝试/AppXmlLogWritter/LogData[LogDateTime],你会得到任何节点吗? “Writter”中的双“t”是故意的吗?
    • 当我使用 XSLT 时,它会定位 2 个节点。您能否在您用于运行这些 XPath 查询的实际代码上方发布,包括我建议的查询?你将 XPath 插入什么?
    猜你喜欢
    • 1970-01-01
    • 2017-11-05
    • 2013-09-21
    • 1970-01-01
    • 2021-05-01
    • 2021-04-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-28
    相关资源
    最近更新 更多