Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.04.2014, 10:31
Новичок на форуме
Отправить личное сообщение для OblivionR Посмотреть профиль Найти все сообщения от OblivionR
 
Регистрация: 02.04.2014
Сообщений: 3

Вывод по условию данных из 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/>
Начало года > : &nbsp;<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"?>


<!-- File Name: Inventory.xml -->
<doc>
<active>

<rot>
<TITLE>vneoborot</TITLE>
<cod>190</cod>
<nachalgoda>12.1</nachalgoda>
<conecgoda>13.9</conecgoda>
</rot>

<rot>
<TITLE> oborot </TITLE>
<cod>290</cod>
<nachalgoda>87.9</nachalgoda>
<conecgoda>86.7</conecgoda>
</rot>

<rot>
<TITLE> balans</TITLE>
<cod>300</cod>
<nachalgoda>100</nachalgoda>
<conecgoda>100</conecgoda>
</rot>

</active>

<passive>

<rot>
<TITLE> капитал и резервы </TITLE>
<cod>490</cod>
<nachalgoda>21.3</nachalgoda>
<conecgoda>10.5</conecgoda>
</rot>

<rot>
<TITLE> долгосрочные обяз </TITLE>
<cod>590</cod>
<nachalgoda>3.9</nachalgoda>
<conecgoda>1.6</conecgoda>
</rot>

<rot>
<TITLE> краткосроч</TITLE>
<cod>690</cod>
<nachalgoda>74.8</nachalgoda>
<conecgoda>87.9</conecgoda>
</rot>

<balans>
<TITLE> баланс</TITLE>
<cod>700</cod>
<nachalgoda>100</nachalgoda>
<conecgoda>100</conecgoda>
</balans>

</passive>
</doc>
и код html документа со скриптом:
<!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>



помогите пожалуйста
Ответить с цитированием
  #2 (permalink)  
Старый 02.04.2014, 15:20
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

Сообщение от OblivionR
нужно внести условие к примеру *актив* > * 50 *
Гон. Актив состоит из двух, вас какое из двух интересует?
Ответить с цитированием
  #3 (permalink)  
Старый 02.04.2014, 16:38
Новичок на форуме
Отправить личное сообщение для OblivionR Посмотреть профиль Найти все сообщения от OblivionR
 
Регистрация: 02.04.2014
Сообщений: 3

я почти сделал задание, возникла сейчас проблема что он высчитывает что нужно но таблицу не выдает.
все у меня 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 > : &nbsp;<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
Ответить с цитированием
  #4 (permalink)  
Старый 02.04.2014, 16:52
Профессор
Отправить личное сообщение для kostyanet Посмотреть профиль Найти все сообщения от kostyanet
 
Регистрация: 23.10.2010
Сообщений: 2,718

После этой вот фигни

xmlDocument.load("fd.xml");

у вас же имеется доступ к свойствам объекта, к связанным данным в общем? Или не имеется?
Ответить с цитированием
  #5 (permalink)  
Старый 02.04.2014, 17:01
Новичок на форуме
Отправить личное сообщение для OblivionR Посмотреть профиль Найти все сообщения от OblivionR
 
Регистрация: 02.04.2014
Сообщений: 3

это уже исправлено, весь код, который есть под комментарием)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
JS вывод информации из XML WaMpIr Общие вопросы Javascript 0 25.01.2013 09:36
Вывод данных из xml fAmOus Элементы интерфейса 3 31.07.2012 17:16
Двойная Фильтрация данных таблицы David0707 Общие вопросы Javascript 0 19.03.2012 13:00
Добавление данных в xml файл Arka1m Элементы интерфейса 9 18.11.2011 10:44
загрузка данных из XML, почему загружает только в Explorer asked86 AJAX и COMET 2 18.12.2009 16:29