Вывод по условию данных из 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, время: 22:05. |