0

これは私のxml形式です:-

<products>
  <product_id value="nokia">
    <tab_id value="3550">
      <individual_born_from value="1990-03-20"/>
    </tab_id>
  <products_id>
  <product_id value="samsung">
    <tab_id value="3650">
      <individual_born_from value="1990-03-20"/>
    </tab_id>
  <products_id>
</products>

私のコード:-

<html>
<head>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
    <script>
        var xml;
        $.get(
        "xml_converted.xml",
        null,
        function (data) {
            xml = data;
        },
        "xml"
    );
        function get_list() {
        var elName = $('#select').val();
            var xPath = '//product_id["' + elName + '" ' + 
            ' < translate(tab_id/individual_born_from/@value,"-","")]/@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);
        }
    </script>
</head>
<body>
    <input type="text" id="select">
    <input type="button" name="button" value="Search" onclick="get_list()">
    <div id="result">
    </div>
</body>
</html>

これは私のxpathです:-

var xPath = '//product_id["' + elName + '" ' + 
            ' < translate(tab_id/individual_born_from/@value,"-","")]/@value';

ここで私は次のようなものを出力したい:-

ユーザーがテキストボックスに日付を入力した
場合、テキストボックスの値が xml 未満の場合 、individual_born_from="1990-03-20"
出力を表示します:- 1,2 1 の b'coz は最初の<product_id>属性値であり、2 は第 2 レベルの<prodcut_id>属性値です。
xpathを使用したphpコードで、タグを追加するのにも役立ちます PHPのおかげで

4

2 に答える 2

0

これを試してください:

var xPath = '//product_id["' + elName + '" ' + 
            ' < translate(tab_id/individual_born_from/@value,"-","")]/@value';
于 2013-03-13T06:15:17.637 に答える