Показать сообщение отдельно
  #15 (permalink)  
Старый 02.06.2012, 16:54
Аспирант
Отправить личное сообщение для oyaebunterkrah Посмотреть профиль Найти все сообщения от oyaebunterkrah
 
Регистрация: 11.04.2012
Сообщений: 31

решил хранить структурированный xml в каком-нибудь тэге прям в html, например:

<p id="data">
	<?xml version="1.0" encoding="utf-8" ?>
	<RecentTutorials>
		<Tutorial author="The Reddest">
			<Title>Silverlight and the Netflix API</Title>
			<Categories>
				<Category>Tutorials</Category>
				<Category>Silverlight 2.0</Category>
				<Category>Silverlight</Category>
				<Category>C#</Category>
				<Category>XAML</Category>
			</Categories>
			<Date>1/13/2009</Date>
		</Tutorial>
	</RecentTutorials>
</p>


а потом делать:

var xmlData = $(#data).html();
var xmlDOM = $.parseXML(xmlData);
$(xmlDOM).find(...);

но, команда $(#data).html() почему-то ломает структуру xml, после чего $(xmlDOM).find(...) ничего не может найти.

а вот если делать так:

var xmlString = '<?xml version="1.0" encoding="utf-8" ?> <RecentTutorials> <Tutorial author="The Reddest"> <Title>Silverlight and the Netflix API</Title> <Categories> <Category>Tutorials</Category> <Category>Silverlight 2.0</Category> <Category>Silverlight</Category> <Category>C#</Category> <Category>XAML</Category> </Categories> <Date>1/13/2010</Date> </Tutorial> <Tutorial author="The Hairiest"> <Title>Cake PHP 4 - Saving and Validating Data</Title> <Categories> <Category>Tutorials</Category> <Category>CakePHP</Category> <Category>PHP</Category> </Categories> <Date>1/12/2009</Date> </Tutorial> <Tutorial author="The Tallest"> <Title>Silverlight 2 - Using initParams</Title> <Categories> <Category>Tutorials</Category> <Category>Silverlight 2.0</Category> <Category>Silverlight</Category> <Category>C#</Category> <Category>HTML</Category> </Categories> <Date>1/6/2009</Date> </Tutorial> <Tutorial author="The Fattest"> <Title>Controlling iTunes with AutoHotkey</Title> <Categories> <Category>Tutorials</Category> <Category>AutoHotkey</Category> </Categories> <Date>12/12/2008</Date> </Tutorial> </RecentTutorials>';

var xmlDOM = $.parseXML(xmlString );

т.е. запихнуть всё в одну строку без пробелов и табуляций, то парсится всё нормально, и поиск работает.

хотелось бы узнать, насколько логично так делать, и, если это приемлемый вариант, то каким образом можно получить содержимое тэга <p> и убрать из него все пробелы и табуляции, для дальнейшей обработки?

Последний раз редактировалось oyaebunterkrah, 02.06.2012 в 16:55. Причина: дополнение
Ответить с цитированием