anonymous@RULINUX.NET~# Last login: 2024-11-22 13:31:03
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

XML -> ini-like

Есть ли какой готовый конвертор для преобразования конфига из XML в ini-like формат? Опять же для использования в консольных скриптах. Как вариант -- из языков высокого уровня.

Хочу из подобного куска XML-кода

  1.  < Menu >
  2.   < Name > Universal Access < /Name >
  3.   < Directory > Utility-Accessibility.directory < /Directory >
  4.   < Include >
  5.   < And >
  6.   < Category > Accessibility < /Category >
  7.   < Not > < Category > Settings < /Category > < /Not >
  8.   < /And >
  9.   < /Include >
  10.   < /Menu >
  11.  

получить что-то в виде

  1.  [Menu]
  2.  Name=Universal Access
  3.  Directory=Utility-Accessibility.directory
  4.  Category=Accessibility
  5.  Category=!Settings
  6.  

Как обозначить поле, заключённое в < Not > < /Not > -- вопрос открытый. Можно даже отбрасывать нераспознанные поля.

anonymous(*) (2010-07-15 22:36:00)

Midori/0.2 (X11; Linux; U; ru-ru) WebKit/531.2+

[Ответить на это сообщение]
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
HEBECTb_KTO(*)(2010-07-15 22:43:05)

[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от HEBECTb_KTO 2010-07-15 22:43:05
avatar
Скрыть

Re: XML -> ini-like

И что? Зачем мне гонять один XML в другой? Мне нужно выбросить весь XML-шум и оставить только данные. Наверняка уже было написано миллион таких парсеров. Нет ли среди них стоящих, которые применяются хотя бы в двух сторонних проектах?

anonymous(*)(2010-07-16 10:45:42)

Mozilla/5.0 (X11; ; Linux i686; rv:1.8.1.23) Gecko/20090823
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
Скрыть

Re: XML -> ini-like

мб так сойдет? \begin[bash]{highlight} sed 's/\ *\ *$/ { s/\ *\ */]/; }; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:47:55)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 11:47:55
avatar
Скрыть

Re: XML -> ini-like

мб так сойдет?

\begin[bash]{highlight} sed 's/\ *\ *$/ { s/\ *\ */]/; }; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:48:21)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
Скрыть

Re: XML -> ini-like

че за нах?

мб так сойдет?

\begin[bash]{highlight} sed 's/\ *\ *$/ { s/\ *\ */]/; }; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:49:18)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
Скрыть

Re: XML -> ini-like

че за нах?

\begin[bash]{highlight}

sed 's/\ *\ *$/ { s/\ *\ */]/; }; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:50:08)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
Скрыть

Re: XML -> ini-like

здохни, туксойд!!!

\begin[lang]{highlight}

sed 's/\ *\ *$/ { s/\ *\ */]/; }; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:51:57)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 11:51:57
avatar
Скрыть

Re: XML -> ini-like

все, заебало, это последний раз.

  1.  sed 's/\ *\ *$/ { s/\ *\ */]/;
; /\ */ { s/\ *//g; s/\ *>\ */=!/g; }; s/\ *>\ */=/g; s/\ *

anonymous(*)(2010-07-16 11:53:17)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 11:51:57
avatar
Tux-oid(*)(2010-07-16 11:55:57)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.4) Gecko/20100611 SUSE/3.6.4-7.1 Firefox/3.6.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 11:53:17
avatar
Скрыть

Re: XML -> ini-like

  1.  sed 's/\ *aaa\ *\/.*//g; /bbb\ *$/ { s/\ *aaa\ */[/; s/\ *bbb\ */]/;
; /\ *aaa\ *not\ *bbb/ { s/\ *aaa\ *not\ *bbb//g; s/\ *bbb\ */=\!/g; }; s/\ *bbb\ */=/g; s/\ *aaa\ *//g;'}

// заменить ааа на < , a bbb на >

anonymous(*)(2010-07-16 11:57:24)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от Tux-oid 2010-07-16 11:55:57
avatar
Скрыть

Re: XML -> ini-like

ты думаешь самый умный, да? нихуя оно не работает

попробуй вставь:

sed 's/\ *aaa\ *\/.*//g; /bbb\ *$/ { s/\ *aaa\ */[/; s/\ *bbb\ */]/; }; /\ *aaa\ *not\ *bbb/ { s/\ *aaa\ *not\ *bbb//g; s/\ *bbb\ */=\!/g; }; s/\ *bbb\ */=/g; s/\ *aaa\ *//g;'

// заменить ааа на < , a bbb на >

anonymous(*)(2010-07-16 11:59:41)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: XML -> ini-like от anonymous 2010-07-15 22:36:00
avatar
Tux-oid(*)(2010-07-16 12:03:51)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.4) Gecko/20100611 SUSE/3.6.4-7.1 Firefox/3.6.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от Tux-oid 2010-07-16 12:03:51
avatar
Скрыть

Re: XML -> ini-like

ты тут вставь. или ты теги вводил, чтоб они не работали?

anonymous(*)(2010-07-16 12:13:25)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 12:13:25
avatar
Скрыть

Re: XML -> ini-like

просто для кода есть begin[xxx]{highlight} но поддержки седа там нет.

Tux-oid(*)(2010-07-16 12:18:28)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.4) Gecko/20100611 SUSE/3.6.4-7.1 Firefox/3.6.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от Tux-oid 2010-07-16 12:18:28
avatar
Скрыть

Re: XML -> ini-like

>просто для кода есть begin[xxx]{highlight} но поддержки седа там нет.
т.е. если написать внутри "sed s/foo/bar/" оно станет нерабочим? да разработчикам за такое руки надо отрывать! нахуя мне подсветка, оно должно хотябы код не коверкать

anonymous(*)(2010-07-16 12:24:40)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 12:24:40
avatar
Скрыть

Re: XML -> ini-like

>т.е. если написать внутри "sed s/foo/bar/" оно станет нерабочим?
нет. движок поступит с ним так-же как и с остальным текстом.

Tux-oid(*)(2010-07-16 12:29:23)

Mozilla/5.0 (X11; U; Linux i686; ru; rv:1.9.2.4) Gecko/20100611 SUSE/3.6.4-7.1 Firefox/3.6.4
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от Tux-oid 2010-07-16 12:29:23
avatar
Скрыть

Re: XML -> ini-like

>нет. движок поступит с ним так-же как и с остальным текстом.
так же как с текстом вне \begin...\end? пиздец, если в коде есть непонятные парсеру слова - то это нихуя не код и его надо выкинуть. да разработчикам за такое руки надо отрывать!

anonymous(*)(2010-07-16 12:33:56)

Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100402 Linux Mint/8 (Helena) Firefox/3.5.9
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-16 10:45:42
avatar
Скрыть

Re: XML -> ini-like

> И что? Зачем мне гонять один XML в другой?
А кто заставляет тебя гонять в XML?

Вот смотри, сынок:

  1.  $ Xalan data.xml style.xsl
  2.  Name = Universal Access
  3.  Directory = Utility-Accessibility.directory
  4.  Category = Accessibility
  5.  Category = !Settings
  6.  
  7.  

> Наверняка уже было написано миллион таких парсеров. Нет ли среди них стоящих, которые применяются хотя бы в двух сторонних проектах?
Есть, они называются XSLT-процессорами и применяются во множестве самых разных проектов.

HEBECTb_KTO(*)(2010-07-17 04:56:11)

[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от HEBECTb_KTO 2010-07-17 04:56:11
avatar
Скрыть

Re: XML -> ini-like

А что скрывается за style.xsl?

anonymous(*)(2010-07-20 10:19:29)

Mozilla/5.0 (X11; ; Linux i686; rv:1.8.1.23) Gecko/20090823
[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от anonymous 2010-07-20 10:19:29
avatar
Скрыть

Re: XML -> ini-like

data.xml

xml

 Universal Access  
 Utility-Accessibility.directory  
 
   
     Accessibility  
     Settings  
   
 

 

style.xsl

xml


 


  0
 
     =  
    !
   

 
   
 


   


 

HEBECTb_KTO(*)(2010-07-20 12:06:35)

[#] [Добавить метку] [Редактировать] Ответ на: Re: XML -> ini-like от HEBECTb_KTO 2010-07-20 12:06:35
avatar
Скрыть

Re: XML -> ini-like -> НЕНАВИСТЬ ТУКСОЕДУ

 http://pastebin.org/407628

HEBECTb_KTO(*)(2010-07-20 12:09:35)

Этот тред читают 4 пользователя:
Анонимных: 4
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!