powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите правильно прописать путь в XPathAPI
16 сообщений из 16, страница 1 из 1
Помогите правильно прописать путь в XPathAPI
    #34575282
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно ли, как-то "вытащить " из
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
.................
<segment Id="NAD">
<element Id="NAD01">GS</element>
<element Id="NAD02" Composite="yes">
<subelement Id="NAD02" Composite="yes" Sequence="1"> 4623541 </subelement>
<subelement Sequence="2"> 100 </subelement>
</element>
<element Id="NAD04" Composite="yes">
<subelement Id="NAD04" Composite="yes" Sequence="1">ОАО "Сибирская угольная энергетичес</subelement>
<subelement Sequence="2">кая компания "</subelement>
</element>
<element Id="NAD09">RU</element>
</segment>
...............

с помощью XPathAPI.selectNodeIterator значение всего "element Id="NAD04"", не указывая при этом конкретного "subelement", т.к не известно сколько их будет?
Прописать путь, как в XSL ("//transaction/segment[@Id='NAD' and element[@Id='NAD01']='GS']/element[@Id='NAD04']/text()") не получилось

Мне необходимо получить:
name = ОАО "Сибирская угольная энергетичес кая компания "
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34575308
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>Прописать путь, как в XSL ("//transaction/segment[@Id='NAD' and element[@Id='NAD01']='GS']/element[@Id='NAD04']/text()") не получилось
Код глянь...
Код: plaintext
<element Id="NAD01">GS</element>
Уже закрыт,а
Код: plaintext
1.
2.
.../element[@Id='NAD04']
лежит в <element Id="NAD04" Composite="yes">
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34575327
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Может так достаточно было:
Код: plaintext
<xsl:value-of select="//segment[@Id='NAD']//subelement[@Id='NAD04']"/>
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34575379
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuSaМожет так достаточно было:
Код: plaintext
<xsl:value-of select="//segment[@Id='NAD']//subelement[@Id='NAD04']"/>

Так не получается.
Мне необходимо точно задать, что element[@Id='NAD01']='GS' и получить одной строкой всё , что находится в element[@Id='NAD04']. И всё это с помю. XPathAPI.selectNodeIterator, т.к. у меня таких строк будет много и работаю в java.
А в XSL можно было сделать так:
Код: plaintext
1.
<xsl:value-of select="segment[@Id='NAD' and element[@Id='NAD01']='GS']/element[@Id='NAD04']" /> 
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34575961
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так
Код: plaintext
<xsl:value-of select="//segment[@Id='NAD' and ./element[@Id='NAD01']/text()='GS']//subelement[@Id='NAD04']/text()"/>
Можно проще, но думать ломает :)
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576007
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но XPathAPI в JAVA не пропускает.
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576015
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хотя, может, я не прав. поняла?
Вот как оно у меня смотрится :
Код: plaintext
1.
2.
3.
NodeIterator Nad_Name_Plat = XPathAPI.selectNodeIterator(documentSource,
                     "//segment[@Id='NAD' and ./element[@Id='NAD01']/text()='GS']//subelement[@Id='NAD04']/text()
");

а было так

Код: plaintext
1.
2.
NodeIterator Nad_Name_Plat = XPathAPI.selectNodeIterator(documentSource,
                     "//transaction/segment[@Id='NAD' and element[@Id='NAD01']='GS']//subelement[@Id='NAD04']/text()");
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576050
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1 вопрос, один совет.
Вопрос: Чего пишет в сообщении об ошибке? Можешь все сообщение показать
Совет: Напиши этот вопрос на форуме посвещенном java. Может там чего скажут.

По вопросу отвечать сюда, по совету сам(а) понимаешь куда.
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576854
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SuSa1 вопрос, один совет.
Вопрос: Чего пишет в сообщении об ошибке? Можешь все сообщение показать
Совет: Напиши этот вопрос на форуме посвещенном java. Может там чего скажут.

По вопросу отвечать сюда, по совету сам(а) понимаешь куда.

По поводу вопроса - ошибку не выдаёт, а пишет только первое значение сегмента.

Код: plaintext
ОАО "Сибирская угольная энергетичес

А за совет, огромное спасибо .
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576892
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин! ошибка -ошибка.... как написано так и выводит.
У тебяж строка разбита на 2, и не слова не написано что их надо объединить.
Я конечно подумал об этом, но писать не стал.
щас перепишем.
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34576908
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, в самом верхнем сообщении, написала, что надо получить одной строкой, т.к. не известно сколько будет subelement
PARDON, что не обратила внимания
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34577017
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно оставить это же выражение но немного подправить исходный xml файл.
Код: plaintext
1.
2.
3.
<element Id="NAD04" Composite="yes">
<subelement Id="NAD04" Composite="yes" Sequence="1">ОАО "Сибирская угольная энергетичес</subelement>
<subelement Id="NAD04" Sequence="2">кая компания "</subelement>
</element>
Т.е. добавить такой же индификатор и в следующие учаски.

Если так не допустимо, то вот так как ты хочешь.
Код: plaintext
<xsl:value-of select="//segment[@Id='NAD' and ./element[@Id='NAD01']/text()='GS']/element[@Id='NAD04']/*/text()"/>
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34577022
SuSa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
второй вариант не зависит от кол-ва subelement. по сути ему вообще побаробану какие элементы (с какими именами) там (в выражении это записано как /*/text()). Если нужны какие то определенные имена, вместо звездачки пишешь имя.
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34577130
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Прости, но результат выводит в 2 строки:
Код: plaintext
1.
2.
3.
4.
nad_name_plat = ОАО "Сибирская угольная энергетичес

nad_name_plat = кая компания "

а очень надо
Код: plaintext
nad_name_plat = ОАО "Сибирская угольная энергетическая компания " 
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34578747
maXmo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
с помощью xpath так сделать нельзя, вот если бы у тебя был парсер msxml, там у узла есть свойство text.
...
Рейтинг: 0 / 0
Помогите правильно прописать путь в XPathAPI
    #34578754
XX_78
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Помогите правильно прописать путь в XPathAPI
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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