Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
 Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
Собственно сама строка xml находится в джейсон,тоесть на вход она подается как String

вот сама строка
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><PROPERTIES><PROPERTY NAME=\"CUSTOM_DICTIONARY_NAME\" VALUE=\"\"/><PROPERTY NAME=\"CUST_DIC_CAPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_COMPONENT_TYPE\" VALUE=\"combobox\"/><PROPERTY NAME=\"CUST_DIC_DYNAMIC_FILTER\" VALUE=\"\"/><PROPERTY NAME=\"CUST_DIC_HIDDEN_FILTER\" VALUE=\"CODE='year' and (BEGIN_DATE is null or BEGIN_DATE &lt; CURRENT_DATE) and (END_DATE is null or END_DATE &gt; CURRENT_DATE)\"/><PROPERTY NAME=\"CUST_DIC_ITEM_CAPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_ITEM_CODE\" VALUE=\"year\"/><PROPERTY NAME=\"CUST_DIC_ITEM_DESCRIPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_NAME\" VALUE=\"doc/dic/custom/data\"/><PROPERTY NAME=\"CUST_DIC_STATIC_FILTER\" VALUE=\"\"/><PROPERTY NAME=\"CUST_FIELD_FOR_CONTEXT_SEARCH\" VALUE=\"\"/></PROPERTIES>"

далее я преобразую это в документ

private static Document loadXMLFromString(String xml) throws Exception{
		DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
		DocumentBuilder builder =factory.newDocumentBuilder();
		InputSource is=new InputSource(new StringReader(xml));
		return builder.parse(is);
	}


из этого документа мне нужно взять <PROPERTY NAME=\"CUST_DIC_HIDDEN_FILTER\" VALUE=\"CODE='year'........многоа всего "
вытащить отсюда 'year'
и перезаписать значения вот сюда
<PROPERTY NAME=\"CUST_DIC_ITEM_CAPTION\" VALUE=\"Год\"/>

и сюда

<PROPERTY NAME=\"CUST_DIC_ITEM_DESCRIPTION\" VALUE=\"Год\"/>
29 июл 20, 13:51    [22175130]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
по сути структура xml такая
<Property>
  <Property name=fdfdf value =dfedffd/>
   <Property name =dfdf value =dfdf/>
/Property>
29 июл 20, 13:59    [22175146]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,
Вопрос то в чем? Берешь любой парсер из 10.
На вход у них строка.
И получаешь что нужно.
29 июл 20, 14:41    [22175173]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

https://www.sql.ru/forum/afsearch.aspx?s=?????? xml&submit=?????&bid=38
29 июл 20, 14:42    [22175175]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

Заодно попробуешь поискать в темах размером под сотню страниц.
29 июл 20, 14:45    [22175179]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
PetroNotC Sharp
Zzz79,
Вопрос то в чем? Берешь любой парсер из 10.
На вход у них строка.
И получаешь что нужно.

вопрос в том как это сделать

тут у меня пока ничего не выходит толком пока
29 июл 20, 14:48    [22175182]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

Торопишься.
Через 30 мин ты уже скажешь что решил)).
Давай по шагам.
Какой парсер выбрал из 10?
29 июл 20, 14:49    [22175186]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

Выбор парсера
17043796
29 июл 20, 14:54    [22175191]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
PetroNotC Sharp
Zzz79,

Торопишься.
Через 30 мин ты уже скажешь что решил)).
Давай по шагам.
Какой парсер выбрал из 10?

DOM
29 июл 20, 14:56    [22175194]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,
Допустим тебе плевать на мнение профи по ссылке.
Идем дальше.
Код поиска Node где?

Сообщение было отредактировано: 29 июл 20, 14:59
29 июл 20, 15:02    [22175203]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
PetroNotC Sharp
Zzz79,
Допустим тебе плевать на мнение профи по ссылке.
Идем дальше.
Код поиска Node где?

	private static String getOldValue(Document document){
		Node root=document.getDocumentElement();
		NodeList list=root.getChildNodes();
		for (int i = 0; i <list.getLength() ; i++) {
			Node node=list.item(i);
			System.out.println(node.getTextContent());
			NodeList nodeList=node.getChildNodes();
			for (int j = 0; j <nodeList.getLength() ; j++) {
				Node n=nodeList.item(j);
				System.out.println(n.getNodeName());

			}

				}
29 июл 20, 15:06    [22175209]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
все кажись разобрался)
29 июл 20, 15:13    [22175213]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79
все кажись разобрался)

Удачи!)))
Молодец что новую тему завел. Надоели темы по 150страниц имхо.
29 июл 20, 15:15    [22175217]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
PetroNotC Sharp
Zzz79
все кажись разобрался)

Удачи!)))
Молодец что новую тему завел. Надоели темы по 150страниц имхо.

да там еще не до конца) дичь до сих пор имеется)почему то не хотят давать true при сравнении с аналогичными ,но написанными руками.
Гребный xml формат меня добьет .
Как же все просто с json все таки
29 июл 20, 15:30    [22175229]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Zzz79
Собственно сама строка xml находится в джейсон,тоесть на вход она подается как String

вот сама строка
"<?xml version=\"1.0\" encoding=\"UTF-8\"?><PROPERTIES><PROPERTY NAME=\"CUSTOM_DICTIONARY_NAME\" VALUE=\"\"/><PROPERTY NAME=\"CUST_DIC_CAPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_COMPONENT_TYPE\" VALUE=\"combobox\"/><PROPERTY NAME=\"CUST_DIC_DYNAMIC_FILTER\" VALUE=\"\"/><PROPERTY NAME=\"CUST_DIC_HIDDEN_FILTER\" VALUE=\"CODE='year' and (BEGIN_DATE is null or BEGIN_DATE &lt; CURRENT_DATE) and (END_DATE is null or END_DATE &gt; CURRENT_DATE)\"/><PROPERTY NAME=\"CUST_DIC_ITEM_CAPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_ITEM_CODE\" VALUE=\"year\"/><PROPERTY NAME=\"CUST_DIC_ITEM_DESCRIPTION\" VALUE=\"Год\"/><PROPERTY NAME=\"CUST_DIC_NAME\" VALUE=\"doc/dic/custom/data\"/><PROPERTY NAME=\"CUST_DIC_STATIC_FILTER\" VALUE=\"\"/><PROPERTY NAME=\"CUST_FIELD_FOR_CONTEXT_SEARCH\" VALUE=\"\"/></PROPERTIES>"

далее я преобразую это в документ

private static Document loadXMLFromString(String xml) throws Exception{
		DocumentBuilderFactory factory=DocumentBuilderFactory.newInstance();
		DocumentBuilder builder =factory.newDocumentBuilder();
		InputSource is=new InputSource(new StringReader(xml));
		return builder.parse(is);
	}


из этого документа мне нужно взять <PROPERTY NAME=\"CUST_DIC_HIDDEN_FILTER\" VALUE=\"CODE='year'........многоа всего "
вытащить отсюда 'year'
и перезаписать значения вот сюда
<PROPERTY NAME=\"CUST_DIC_ITEM_CAPTION\" VALUE=\"Год\"/>

и сюда

<PROPERTY NAME=\"CUST_DIC_ITEM_DESCRIPTION\" VALUE=\"Год\"/>


Предлагаю библиотеку из соседней ветки.

17790633

Она умеет читать данные из xml строки.

Методы U.fromXmlMap(xml) и U.get(map, path).

Хорошего вам дня!
29 июл 20, 16:45    [22175280]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Zzz79
Member

Откуда:
Сообщений: 569
Valentin Kolesnikov,Добрый день!
Посмотрел -неплохо,но у нас банковский продукт со всемы вытекающими - любые кастомные либы должны пройти проверку СБ
29 июл 20, 17:27    [22175312]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 5384
Zzz79,

"Слона надо есть по частям" (с)
29 июл 20, 19:45    [22175399]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Garrick
Member

Откуда: Москва
Сообщений: 3011
Zzz79
Valentin Kolesnikov,Добрый день!
Посмотрел -неплохо,но у нас банковский продукт со всемы вытекающими - любые кастомные либы должны пройти проверку СБ

Интересно как они их проверяют. Ни разу не видел в СБ специалистов, которые умеют читать код, да ещё на разных языках.
29 июл 20, 19:54    [22175403]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
Valentin Kolesnikov
Member

Откуда:
Сообщений: 3312
Zzz79
Valentin Kolesnikov,Добрый день!
Посмотрел -неплохо,но у нас банковский продукт со всемы вытекающими - любые кастомные либы должны пройти проверку СБ


Можете скопировать класс файлы библиотеки себе в проект.

Хорошего вам вечера!
29 июл 20, 20:56    [22175412]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3090
Garrick
Zzz79
Valentin Kolesnikov,Добрый день!
Посмотрел -неплохо,но у нас банковский продукт со всемы вытекающими - любые кастомные либы должны пройти проверку СБ

Интересно как они их проверяют. Ни разу не видел в СБ специалистов, которые умеют читать код, да ещё на разных языках.

все очень просто билд.градл рефактор право имеет только лид)
тоесть локально ты можешь поиграться- по факту ты запушить это не сможешь - так как сборка поломается

да и зачем юзать сторониие библиотеки если силами джавы все решилось) правда пришлось с бубном полясать.
29 июл 20, 21:27    [22175420]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3090
Valentin Kolesnikov
Zzz79
Valentin Kolesnikov,Добрый день!
Посмотрел -неплохо,но у нас банковский продукт со всемы вытекающими - любые кастомные либы должны пройти проверку СБ


Можете скопировать класс файлы библиотеки себе в проект.

Хорошего вам вечера!

нет смысла - все рашается стандартной библиотекой

если хотите могу вам код показать - тоесть там просто нет смысла что подкдлючать)
29 июл 20, 21:28    [22175422]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3090
PetroNotC Sharp
Zzz79
все кажись разобрался)

Удачи!)))
Молодец что новую тему завел. Надоели темы по 150страниц имхо.

согласен на таких форумах нужны темы проблема- решение без флуда

я свою проблему решил и мне не жалко код выставить для потомков) что я завтра и сделаю)
29 июл 20, 21:33    [22175426]     Ответить | Цитировать Сообщить модератору
 Re: Вытащить/записать значения в xml  [new]
asv79
Member

Откуда: Тверь
Сообщений: 3090
Но вот самый кайф это когда ты кодишь) для этого нужны входные данные и явно обозначенная цель)
я вот сегодня кайфанул пиша парсер,конектор к базе,наконец то живые sql запросы)
тоесть 10000% чистый кодиинг

но до этого я два дня осозновал что от меня хочет аналитик и что нужно сделать)

в реальности хотелики аналитиков сводятся к изи рефакторингу

но вот чтобы понять их и найти где и что поменять уходит вечность)
29 июл 20, 21:41    [22175430]     Ответить | Цитировать Сообщить модератору
Все форумы / Java Ответить