powered by simpleCommunicator - 2.0.31     © 2024 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath и случайный префикс пространства имен, как вытащить нужный элемент?
9 сообщений из 9, страница 1 из 1
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39456606
АнтонСФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вот есть приблизительно такой xml
<?xml version="1.0" encoding="UTF-8"?>
<xxx:Documents
xmlns:xxx=" http://prefix1.ru/" xmlns:yyy=" http://prefix2.ru/" >
<xxx:MainTag>
<xxx:Tag1>TEST1</xxx:Tag1>
<xxx:Tag2>TEST1</xxx:Tag2>
<xxx:Tag3>
<yyy:Tag4>TEST3</yyy:Tag4>
</xxx:Tag3>
</xxx:MainTag>
</xxx:Documents>
он приходит от разных людей и каждый считает своим долгом ставит на место префиксов xxx, yyy свои случайные префиксы, точнее за них это делает 1с. Подскажите как вытащить нужные мне элементы, например :
MainTag с namespace-uri:" http://prefix1.ru/"
Tag4 с namespace-uri:" http://prefix2.ru/"

msxml2.DOMDocument60
Set Nodes = xDoc.selectNodes("//*[namespace-uri()="" http://prefix1.ru/%22%22%5D%22)]http://prefix1.ru/""]") - выдергивает всё подряд но работает
Set Nodes = xDoc.selectNodes("//MainTag[namespace-uri()="" http://prefix1.ru/%22%22%5D%22)]http://prefix1.ru/""]") - не выдергивает ничего
а если допустим предположить, что мы префикс знаем, то все равно имеем ошибку
Set Nodes = xDoc.selectNodes("//xxx:MainTag[namespace-uri()="" http://prefix1.ru/%22%22%5D%22)]http://prefix1.ru/""]")
"ссылка на необъявленный префикс пространства имен"

Помогите пожалуйста, с xPath никогда не работал :(
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39456615
Сон Веры Павловны
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SelectionNamespaces Property
Какой там префикс у неймспейса в исходном документе - неважно абсолютно, важны сами namespaspaces URI, то, что будет задано в SelectionNamespaces и, соответственно, в XPath:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="utf-8"?>
<xxx:Documents xmlns:xxx="http://prefix1.ru/" xmlns:yyy="http://prefix2.ru/">
  <xxx:MainTag>
    <xxx:Tag1>TEST1</xxx:Tag1>
    <xxx:Tag2>TEST2</xxx:Tag2>
    <xxx:Tag3>
      <yyy:Tag4>TEST3</yyy:Tag4>
    </xxx:Tag3>
  </xxx:MainTag>
</xxx:Documents>


Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
var dom = new ActiveXObject("MSXML2.DOMDocument.6.0");
dom.async= false;
dom.validateOnParse = false;
dom.load("D:\\Trash\\1.xml"); // <- вышеприведенный xml
if (dom.parseError.errorCode!=0) 
{
  WScript.Echo("can't load dom" + dom.parseError.reason);
  exit;
}
dom.setProperty("SelectionNamespaces", "xmlns:myprefix='http://prefix1.ru/'");
WScript.Echo(dom.selectSingleNode("/myprefix:Documents/myprefix:MainTag/myprefix:Tag2/text()").xml);


- выводит TEST2.
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39456667
АнтонСФ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны,
Спасибо большое!!!
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39713892
vponed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Сон Веры Павловны,
я тоже умоляю о помощи. Тоже с xpath 2 дня знаком.
Пытаюсь вытянуть base64 из кода страницы

<div class="item-phone-big-number js-item-phone-big-number"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAT0AAAAyCAYAAAAuugz8AAAACXBIWXMAAA7EAAAOxAGVKw4bAAAMgklEQVR4nO2dfaweRRXGf3PT3DRNbZqmaRrSNJU0lTS1qQoIBOoFKyAhEdGQSgTLh0iQRCRICCEkxCghSho1hhBFKahIS

Что я только не пробовал, комбинировал как угодно, ничего не выходит
//*[contains(@class,'item-phone-big-number js-item-phone-big-number')] так отдает пустоту.
если добавлять /img/@src тоже ничего
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39714114
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vponedесли добавлять /img/@src тоже ничегоЧто именно ничего? Код где?
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39714196
vponed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
_Vasilisk_,
Это страничка с телефоном с авито. Тут дело не в xpath, а в том, что этого содержимого просто не приходило по запросу..
Надо действовать по другому. Прошу прощения за беспокойство.
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39717163
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с авито на скуле давно и безуспешно борцунируют, потому что авито отслеживает скуль и лепит заплатки по горячим следам.
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39717164
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эта боротьба на моих глазах разворачивалась.

пришел некто в раздел js, спросил, как телефон с авито выдернуть. ему подсказали, тогда телефон был текстовый и прятался в невидимом элементе. через несколько дней вернулся - телефон больше не выдергивается. посмотрели - он по кнопке стал через ajax подтягиваться. подсказали, как составить запрос, чтобы телефон получить, ушел довольный. через несколько дней опять вернулся - авито стало отдавать телефон в виде картинки. тут ему объяснили, что условия пользования авито запрещают такую деятельность, и послали нахер.

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

а после этого текста не исключено, что сделает это превентивно и перестает мудрить с никчемными лишними запросами - просто спрячет по старинке в невидимый элемент картинку с искаженным номером телефона.
...
Рейтинг: 0 / 0
xpath и случайный префикс пространства имен, как вытащить нужный элемент?
    #39717306
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyс авито на скуле давно и безуспешно борцунируютЯ когда-то тоже с ним работал. Это был тот случай, когда работа других программистов вызывает уважение
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / xpath и случайный префикс пространства имен, как вытащить нужный элемент?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]