powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / xpath получение всех namespace-ов
5 сообщений из 5, страница 1 из 1
xpath получение всех namespace-ов
    #39547641
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пытаюсь получить все namespace у данного xml:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public static void main(String[] args) throws XPathExpressionException, ParserConfigurationException, SAXException, IOException  {
        
        String input = "<myns:root "
                + "xmlns:xsi=\"xsi.com\" "
                + "xmlns:myns=\"myns.com\">\n"
                + "123123"
                + "</myns:root>";

        InputSource source = new InputSource(new StringReader(input));
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document document = db.parse(source);
        XPathFactory xpathFactory = XPathFactory.newInstance();
        XPath xpath = xpathFactory.newXPath();

        String result = xpath.evaluate("//namespace::*", document);

        System.out.println(result);
    }


но мне выводит только первый xsi.com. Как можно получить все?
...
Рейтинг: 0 / 0
xpath получение всех namespace-ов
    #39547660
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Javadoc говорит, что есть еще такой метод:

Код: plaintext
1.
2.
3.
4.
5.
6.
Object evaluate(String expression,
                Object item,
                QName returnType)
         throws XPathExpressionException

Evaluate an XPath expression in the specified context and return the result as the specified type.
...

returnType можно указать как XPathConstants.NODESET и, наверное, получить набор узлов. Сам не делал.
...
Рейтинг: 0 / 0
xpath получение всех namespace-ов
    #39547698
lleming
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sanringoПытаюсь получить все namespace у данного xml:
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
public static void main(String[] args) throws XPathExpressionException, ParserConfigurationException, SAXException, IOException  {
        
        String input = "<myns:root "
                + "xmlns:xsi=\"xsi.com\" "
                + "xmlns:myns=\"myns.com\">\n"
                + "123123"
                + "</myns:root>";

        InputSource source = new InputSource(new StringReader(input));
        DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
        DocumentBuilder db = dbf.newDocumentBuilder();
        Document document = db.parse(source);
        XPathFactory xpathFactory = XPathFactory.newInstance();
        XPath xpath = xpathFactory.newXPath();

        String result = xpath.evaluate("//namespace::*", document);

        System.out.println(result);
    }


но мне выводит только первый xsi.com. Как можно получить все?
Почему String ? Это же единственное значение
Код: java
1.
String result = xpath.evaluate("//namespace::*", document);


Где array of namespaces?

Если прогнять через xlst то этот xpath возвращает все namespace в документе
...
Рейтинг: 0 / 0
xpath получение всех namespace-ов
    #39547730
sanringo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
lleming,

Не совсем понял как мне поменять код
...
Рейтинг: 0 / 0
xpath получение всех namespace-ов
    #39547745
Alexander A. Sak
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Намекаю еще прозрачнее.


Код: java
1.
2.
3.
4.
5.
6.
7.
8.
      
        //String result = xpath.evaluate("//namespace::*", document);

        //System.out.println(result);

        NodeList result = (NodeList)xpath.evaluate("//namespace::*", document, XPathConstants.NODESET);

        System.out.println(result.getLength());
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / xpath получение всех namespace-ов
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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