xpath中的多个条件

时间:2014-03-11 22:34:32

标签: xpath xquery xmltable

我是xquery的新手,想要在activityStatus上添加条件为' A'和婚姻状况一样"已婚"获得人的性别。我已经创建了单独添加条件的查询,但是在添加多个条件时遇到了麻烦。任何指针都会有所帮助。 提前谢谢。

根据婚姻状况查询性别:

SELECT PersonInfo.gender_1
  from personData personData,
  xmltable('$personData/Person/personDataCollection/
              personData[(maritalStatus=("Married"))]'
    passing personData."XMLDATA" as "personData"
    columns gender_1 varchar(12) path 'gender'
  ) PersonInfo

......和文件......

<?xml version="1.0" encoding="UTF-8"?>
<Person>
   <activityStatus>A</activityStatus>
   <personDataCollection>
      <personData>
         <personName>
            <lastName>ABC</lastName>
            <firstName>XYZ</firstName>
         </personName>
         <addressCollection>
            <address>
               <line1>123</line1>
               <city>QWERTY</city>
               <state>ASDF</state>
               <postalCode>147852</postalCode>
            </address>
         </addressCollection>
         <maritalStatus>Married</maritalStatus>
         <gender>M</gender>
      </personData>
   </personDataCollection>
</Person>

1 个答案:

答案 0 :(得分:3)

听起来你只想在XPath中添加第二个谓词。如果是这样,那么你差不多完成了:

$personData/Person[activityStatus="A"]/personDataCollection/personData[maritalStatus="Married"]