MallSerg, один из вариантов)
Попробую, звучит быстрее, чем то что я придумал) |
Есть интересная идея, например есть 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") // потом пройтись по объекту и найти самый последний элемент |
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 |
а, стоп, прочитал задачу, так это же легко, просто начинай от этого символа и иди назад считая открывающие теги) в чем трабл то? тебе код написать?
я прсото уже парсеров написал штук 10 за этот год, щас вот пишу парсер для coffee++ |
Цитата:
Просто не все так просто, мне не просто нужно получить элемент, а его родителя, я хотел получить сначала элемент добавить id вкинуть в DOMParser и по id найти его и взять родителя |
я не совсем понимаю что значит "получить"
|
блин чет у меня долго слишком молучается я написал парсер но когда понял что задача стоит получить в значении как дом элемнет я понял что это дольше чем я могу себе позволить, вот парсер не знаю поможет ли, прости но работать надо, дедлайны все дела
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 |
Ну а так да, самый лучший вариант просто поставить айдишник ему и получить по айди, если тебе надо получить именно в значении УЗНАТЬ КАКОЙ ЭЛЕМЕНТ В ДОКУМЕНТЕ ОПИСАН В СИМВОЛЕ ПО ТАКОМУ ТО ИНДЕКСУ И ПОЛУЧИТЬ ЕГО РОДИТЕЛЯ, то ты назвал самое очевидное решение, тогда почему его не сделаешь просто)?
тут даже парсеры писать не надо, ну вообще можно там рендж применить типа, берешь и выделение делаешь и смотришь что влезло в выделение, document.creageRange() но там гуглить надо про него, я не помню нифига) |
Mаxmaxmаximus,
вот что я написал http://jsfiddle.net/c9cws7au/3/ |
тут даже парсеры писать не надо, ну вообще можно там рендж применить типа, берешь и выделение делаешь и смотришь что влезло в выделение, document.creageRange() но там гуглить надо про него, я не помню нифига)
|
Часовой пояс GMT +3, время: 21:43. |