0

私のxmlファイル:-

<root>
    <name id="1">
        <region value="001">
            <date value="1989-03-09"/>
        </region>
    <name id="2">
        <region value="002">
            <date value="1989-03-09"/>
        </region>
    </name>
</root>

これは私のコードです:-試してみます:-

function get_list() {
        var elName = $('#select').val();
           var xPath = '///date[xs:date(./@value,"-","") > xs:date("'+ elName +'")]/../@value';
            var iterator = xml.evaluate(xPath, xml.documentElement, null,
                XPathResult.UNORDERED_NODE_ITERATOR_TYPE, null);
            var thisNode = iterator.iterateNext();
            var str = '';
            while (thisNode) {
                if (str) {
                    str += ', ';
                }
                str += thisNode.textContent;
                thisNode = iterator.iterateNext();
            }
            $("#result").text(str);
        }

ここにテキストボックスが1つあります。テキストボックスの日付よりも小さいid = select
場合に取得したい場合<date value="1989-03-10"/>は、そこに最初の要素の属性値を返します...
例:-

input type="text"  1989-02-05 < 1989-03-10 is true then

o/p は:- 1, 2 xpath と html を使用することは私にとっては良いことであり、その他も
感謝しています

4

1 に答える 1

0

次のクエリが機能するはずです。

let $ref-date := xs:date("1989-03-10")
let $data := <root>
    <name id="1">
        <region value="001">
            <date value="1989-03-09"/>
        </region>
    </name>
    <name id="2">
        <region value="002">
            <date value="1989-03-11"/>
        </region>
    </name>
</root>
return $data/name[region/date/xs:date(@value) lt $ref-date]

http://www.zorba-xquery.com/html/demo#r0KwHwjp1weVwefDUn1Z6roVD3A=でライブで試すことができます。

于 2013-03-12T02:31:25.697 に答える