Вывод по условию данных из xml
Доброго времени суток всем, пишу с таким вопросом.*( весь код, который есть прикреплю внизу).
Значит 1) есть xml файл с простой структурой актив\пассив баланса 2) html файл со скриптом который выводит данные из тегов в виде таблицы. Задание вот какое есть форма : <!DOCTYPE html> <html lang="ru"> <title>9 задание XML</title> <body> <div id="main-block"> <div id="info"> Пассив / Актив: <input id="type" type="text"><p/> Начало года > : <input id="year" type="text"><p/> <input value="Узнать" type="button" onClick="get_info()"> </div> </div> <div id="result"> </div> </body> </html> нужно внести условие к примеру *актив* > * 50 * и он выдаст часть таблицы со значениями удовлетворяющих условию. код xml документа: Код:
<?xml version="1.0" encoding="windows-1251"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <table border=1 width=600xp> <tr> <td width=345px bgcolor="red">Naivenov</td> <td width=70px bgcolor="red">COD</td> <td width=80px bgcolor="red">Na nachalo</td> <td bgcolor="red">NA konec</td> </tr> </table> <script Type="text/javascript"> var xmlDocument=new ActiveXObject ("Microsoft.XMLDOM"); xmlDocument.load("fd.xml"); var element=xmlDocument.documentElement; document.writeln("<table border=1 width=600px>"); document.writeln("<tr>"); for (i=0; i<element.childNodes.length; i++) { var curNode=element.childNodes.item(i); document.writeln("<tr>"); document.writeln("<td>"+curNode.nodeName+"</td>"); for (j=0; j<curNode.childNodes.length; j++) { var Node=curNode.childNodes.item(j); document.writeln("<tr>"); for (l=0; l<Node.childNodes.length; l++) { var CurentNode=Node.childNodes.item(l); document.writeln("<td>"+CurentNode.text+"</td>"); } } } </script> </head> <body> </body> </html> помогите пожалуйста:thanks: |
Цитата:
|
я почти сделал задание, возникла сейчас проблема что он высчитывает что нужно но таблицу не выдает.
все у меня 4 файла 1) xml 2) xsl 3) html со криптом 4) библиотека 1) <?xml version="1.0" encoding="utf-8"?> <?xml-stylesheet type="text/xsl" href="2.xsl"?> <doc> <active> <rott> <TITLE>Внеоборотные активы</TITLE> <cod>190</cod> <nachalgoda>12.1</nachalgoda> <conecgoda>13.9</conecgoda> </rott> <rott> <TITLE> Оборотные активы </TITLE> <cod>290</cod> <nachalgoda>87.9</nachalgoda> <conecgoda>86.7</conecgoda> </rott> <rott> <TITLE> Баланс</TITLE> <cod>300</cod> <nachalgoda>100</nachalgoda> <conecgoda>100</conecgoda> </rott> </active> <passive> <rottt> <TITLE> Капитал и резервы</TITLE> <cod>490</cod> <nachalgoda>21.3</nachalgoda> <conecgoda>10.5</conecgoda> </rottt> <rottt> <TITLE> Долгосрочные обязательства </TITLE> <cod>590</cod> <nachalgoda>3.9</nachalgoda> <conecgoda>1.6</conecgoda> </rottt> <rottt> <TITLE>Краткосрочные обязательства</TITLE> <cod>690</cod> <nachalgoda>74.8</nachalgoda> <conecgoda>87.9</conecgoda> </rottt> <rottt> <TITLE> Баланс </TITLE> <cod>700</cod> <nachalgoda>100</nachalgoda> <conecgoda>100</conecgoda> </rottt> </passive> </doc> 2) ?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <html> <body> <table border="2"> <tr> <th>Наименование показателя </th> <th>Код строки </th> <th>На начало года</th> <th>На конец года</th> </tr> <tr> <th>Актив</th> </tr> <xsl:for-each select="doc/active/rott"> <tr> <td><xsl:value-of select="TITLE"/></td> <td><xsl:value-of select="cod"/></td> <td><xsl:value-of select="nachalgoda"/></td> <td><xsl:value-of select="conecgoda"/></td> </tr> </xsl:for-each> <tr> <th>Пассив</th> </tr> <xsl:for-each select="doc/passive/rottt"> <tr> <td><xsl:value-of select="TITLE"/></td> <td><xsl:value-of select="cod"/></td> <td><xsl:value-of select="nachalgoda"/></td> <td><xsl:value-of select="conecgoda"/></td> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet> 3) <!DOCTYPE html> <html lang="ru"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script src="jquery-latest.js" type="text/javascript"></script> <script type="text/javascript"> function get_info() { var type = $("#type").val(); var year = new Number($("#year").val()); if(type == "" && year == "") { alert("vvedite"); } else { if(type == "active" ) { var type = "rott"; } else if(type == "passive" ){ var type = "rottt"; } else { alert("lox"); return false; } jQuery.ajax({ type: "GET", url: "bala.xml", dataType: "xml", success: function(xml) { var check = 0; var result = "<table border=1 ><tr><th>hhfhfghf</th><th>fhfhfgh</th><th>hfghgfhfghf</th><th>fghfghfhh</th></tr>"; jQuery(xml).find('' + type + '').each(function() { if($(this).find('nachalgoda').text() > year) { var TITLE = $(this).find('TITLE').text(); var cod = $(this).find('cod').text(); var nachalgoda = $(this).find('nachalgoda').text(); var conecgoda = $(this).find('conecgoda').text(); result = result + "<tr><td>" + TITLE + "</td><td>" + cod + "</td><td>" + nachalgoda + "</td><td>" + conecgoda + "</td></tr>"; check = 1; } }); result = result + "</table>"; if(check == 1) { $("#main-block").hide(); $("#result").show(); var info = $("#result").html(); $("#result").html(info + result); } else { alert("dannix net"); } }});}} function close() { $("#result").hide(); $("#main-block").show(); } </script> </head> <body> <div id="main-block"> <div id="info"> Passive\active: <input id="type" type="text"><p/> Nachalgoda > : <input id="year" type="text"><p/> <input value="Find" type="button" onClick="get_info()"> </div> <div id="result"> <div id="close" ><a href="" onClick="close();"><b>X</b></a></div> </div> </body> </html> то есть в поле я вожу active\ passive во второе окно значение к примеру 90 и он должен выдать мне только строчку где в xml >90 |
После этой вот фигни
xmlDocument.load("fd.xml"); у вас же имеется доступ к свойствам объекта, к связанным данным в общем? Или не имеется? |
это уже исправлено, весь код, который есть под комментарием)
|
Часовой пояс GMT +3, время: 09:53. |