【问题标题】:How to check if one string is a substring of another and print it out if true (XQuery/XML)如何检查一个字符串是否是另一个字符串的子字符串,如果为真则打印出来(XQuery/XML)
【发布时间】:2015-05-15 05:11:05
【问题描述】:

在下面的代码中,$y 返回一个看起来像“OK HL DJ FJJ FJ”等的属性值。$l 返回看起来像“OK”“HL”的属性值。这个想法是,我想看看 $l 是否包含在 $y 中,如果是,则将其打印出来。所以真的第三行代码过去 /country/ 是我感到困惑的地方。我不确定如何在过去包含一个函数来执行我所描述的操作。

  let $g := doc("cars.xml")/cars/honda[@id="hondaCivic"]
  let $y := ($g/@type)
  for $l in doc("cars.xml")/cars/country/[@car_code]????
  return $y

【问题讨论】:

  • 显示您的 XML,还是让人们猜测?

标签: xml substring xquery xquery-sql


【解决方案1】:

以下对空格分隔的代码字符串进行标记,并在结果序列中选择所有具有代码的国家/地区:

let $cars  := doc('cars.xml')/cars
let $type  := $cars/honda[@id eq 'hondaCivic']/@type
let $codes := tokenize($type, '\s+')
return
   $cars/country[@car_code = $codes]

通常最好使用 XML 结构来表示结构化信息,例如使用可重复的type 元素独立表示每个代码,而不是使用包含值列表的字符串。

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 2019-05-11
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2018-06-08
    • 2010-10-13
    相关资源
    最近更新 更多