将日期转换为1990-03-20到19900320,并检查文本框值小于xml attr值的输入



这是我的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)是第一级<product_id> attr值,(2)是第二级<prodcut_id> attr值,这两个日期都大于用户在文本框中输入的…
如果可能的话,使用xpath的php代码也帮助我添加标签php由于

XPath表达式

//individual_born_from/(number(translate(@value,'-',''))

在XPath 2.0中有效,但在XPath 1.0中无效,这将"/"之后的内容限制为一个简单的步骤。

请试试:

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

最新更新