10.12.2015, 18:53
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
MallSerg, один из вариантов)
Попробую, звучит быстрее, чем то что я придумал)
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
Последний раз редактировалось cyber, 10.12.2015 в 19:03.
|
|
10.12.2015, 19:16
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Есть интересная идея, например есть xml, берем его обрезаем до того места что нужно и кидаем в DOMParser, а потом берем последний элемент в дереве.
var xml = '<!--?xmlversion="1.0"encoding="UTF-8"?--><breakfast_menu><food><name>BelgianWaffles</name><price>$5.95</price><description >OurfamousBelgianWaffleswithplentyofrealmaplesyrup</description><calories>650</calories></food><food><name>FrenchToast</name><price>$4.50</price><description>Thickslicesmadefromourhomemadesourdoughbread</description><calories>600</calories></food><food><name>HomestyleBreakfast</name><price>$6.95</price><description>Twoeggs,baconorsausage,toast,andourever-popularhashbrowns</description><calories>950</calories></food></breakfast_menu>';
var halfXML = "<breakfast_menu><food><name>BelgianWaffles</name><price>$5.95</price><description >OurfamousBelgianWaffleswithplentyofrealmaplesyrup"; //обзеранный xml
p.parseFromString(halfXML, "application/xml") // потом пройтись по объекту и найти самый последний элемент
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
11.12.2015, 00:41
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
cyber, не ожидал от тя такого вопроса еси честно))
var xml = "<test> <tag> <t>\n</t> </tag> </test>";
document = new DOMParser().parseFromString(xml, "text/xml");
а для селекторов применяешь https://developer.mozilla.org/en-US/..._in_JavaScript
|
|
11.12.2015, 00:45
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
а, стоп, прочитал задачу, так это же легко, просто начинай от этого символа и иди назад считая открывающие теги) в чем трабл то? тебе код написать?
я прсото уже парсеров написал штук 10 за этот год, щас вот пишу парсер для coffee++
|
|
11.12.2015, 00:50
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Сообщение от Mаxmaxmаximus
|
а, стоп, прочитал задачу, так это же легко, просто начинай от этого символа и иди назад считая открывающие теги) в чем трабл то? тебе код написать?
|
Давай, гляну твое решение)
Просто не все так просто, мне не просто нужно получить элемент, а его родителя, я хотел получить сначала элемент добавить id вкинуть в DOMParser и по id найти его и взять родителя
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
11.12.2015, 01:44
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
я не совсем понимаю что значит "получить"
|
|
11.12.2015, 01:45
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
блин чет у меня долго слишком молучается я написал парсер но когда понял что задача стоит получить в значении как дом элемнет я понял что это дольше чем я могу себе позволить, вот парсер не знаю поможет ли, прости но работать надо, дедлайны все дела
xml = '<test aa="22"> <tag> <t>\n</t> </tag> </test>'
index = 40
code = xml.slice(0, index)
tags = []
regExp = /<(\/)?(\w+)?.*?/img
code.replace regExp, (match, isClose, name)->
tags.push {name, isClose: !!isClose}
console.log tags
console.log code
return
|
|
11.12.2015, 01:47
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
Ну а так да, самый лучший вариант просто поставить айдишник ему и получить по айди, если тебе надо получить именно в значении УЗНАТЬ КАКОЙ ЭЛЕМЕНТ В ДОКУМЕНТЕ ОПИСАН В СИМВОЛЕ ПО ТАКОМУ ТО ИНДЕКСУ И ПОЛУЧИТЬ ЕГО РОДИТЕЛЯ, то ты назвал самое очевидное решение, тогда почему его не сделаешь просто)?
тут даже парсеры писать не надо, ну вообще можно там рендж применить типа, берешь и выделение делаешь и смотришь что влезло в выделение, document.creageRange() но там гуглить надо про него, я не помню нифига)
|
|
11.12.2015, 01:47
|
|
I am Student
|
|
Регистрация: 17.12.2011
Сообщений: 4,415
|
|
Mаxmaxmаximus,
вот что я написал http://jsfiddle.net/c9cws7au/3/
__________________
Цитата:
|
Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
|
|
|
11.12.2015, 01:47
|
Профессор
|
|
Регистрация: 29.10.2015
Сообщений: 473
|
|
тут даже парсеры писать не надо, ну вообще можно там рендж применить типа, берешь и выделение делаешь и смотришь что влезло в выделение, document.creageRange() но там гуглить надо про него, я не помню нифига)
|
|
|
|