www.webdeveloper.com
Results 1 to 6 of 6

Thread: Xml Help

  1. #1
    Join Date
    Mar 2004
    Posts
    5

    Xml Help

    This is what the imported XML file will look like:
    <?xml version="1.0" encoding="UTF-8"?>
    <App">
    <PROP object="D11" key="1" year="2004" factor=".02" > </PROP>
    <PROP object="D12" key="1" year="2005" factor=".05" > </PROP>
    </APP>



    Name Key 2004 2005
    D11 | 1 | | |
    D12 | 1 | | |

    If I enter a value into D12 in year 2005 I want whatever the user entered to be multiplied by the factor of .05

    Can anyone help me out with the javascript. I have some, but it only gets the highest level (parent) I need it to be more specific.

    Thanks

  2. #2
    Join Date
    Sep 2003
    Location
    Australia
    Posts
    37
    ServicesXML = new ActiveXObject("Microsoft.XMLDOM");
    ServicesXML.loadXML("UR XML File");
    ServicePath = '/App/PROP/@object';
    ServiceNode = ServicesXML.selectNodes(ServicePath);
    for (i=0;i<ServiceNode.length;i++)
    {
    if (ServiceNode.item(i).nodeName == 'D12')
    {
    ServiceURL = ServiceNode.item(i).text;
    /* Now that u have the D12 value, convert the string to a Float and multiply by 0.05 and WHOLA u have ur answer this same logic can be applied to ur other post.. */
    }
    }

    HTH

    Have Fun.

    PS: I just had a second look at the code and realised the item(i).text would always give u "D12" where as u want the value of some other attribute...but i guess u can manage that bit :P
    Last edited by paps; 03-22-2004 at 03:19 PM.

  3. #3
    Join Date
    Mar 2004
    Posts
    5
    paps,

    I can not use Active X objects...


    Originally posted by paps
    ServicesXML = new ActiveXObject("Microsoft.XMLDOM");
    ServicesXML.loadXML("UR XML File");
    ServicePath = '/App/PROP/@object';
    ServiceNode = ServicesXML.selectNodes(ServicePath);
    for (i=0;i<ServiceNode.length;i++)
    {
    if (ServiceNode.item(i).nodeName == 'D12')
    {
    ServiceURL = ServiceNode.item(i).text;
    /* Now that u have the D12 value, convert the string to a Float and multiply by 0.05 and WHOLA u have ur answer this same logic can be applied to ur other post.. */
    }
    }

    HTH

    Have Fun.

  4. #4
    Join Date
    Sep 2003
    Location
    Australia
    Posts
    37
    AHA...u never said anything bout that,.....

  5. #5
    Join Date
    Mar 2004
    Posts
    5
    Sorry, I posted that before on another screen, but not on this post.



    Originally posted by paps
    AHA...u never said anything bout that,.....

  6. #6
    Join Date
    Sep 2003
    Location
    Australia
    Posts
    37
    ok..heres another idea..how bout using msxsl:script???

    heres an example of the same:

    <msxsl:script language="JScript" implements-prefix="user"><![CDATA[
    function daysFromPub(nodelistBook) {
    var dToday = new Date();
    var nodeBook = nodelistBook.item(0);
    var sPublishDate = nodeBook.selectSingleNode("publish_date").text;
    var nYear = Number(sPublishDate.substr(0,4));
    var nMonth = Number(sPublishDate.substr(5,2)) - 1; // months are from 0 to 11
    var nDay = sPublishDate.substr(8,2);

    var MinMilli = 1000 * 60; //Initialize variables.
    var HrMilli = MinMilli * 60;
    var DyMilli = HrMilli * 24;

    var dPublish = new Date(nYear, nMonth, nDay);

    return String(Math.round((dPublish - dToday) / DyMilli));
    }

    ]]> </msxsl:script>

    probably this might work....

    no activex object....

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
HTML5 Development Center



Recent Articles